.ori { --ori-ink:var(--brand); --ori-green:var(--accent); --ori-muted:var(--muted); --ori-line:var(--border); color:var(--ori-ink); }
.ori-intro { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:38px; padding:47px 0 48px; }
.ori-eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 20px; color:var(--ori-green); font-size:.73rem; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }
.ori-eyebrow>span { width:7px; height:7px; background:var(--ori-green); border-radius:50%; }
.ori-intro :is(h1,h2) { margin:0; font-size:clamp(2.35rem,4.3vw,3.55rem); font-weight:800; line-height:1.13; letter-spacing:-.045em; }
.ori-intro :is(h1,h2) em { color:var(--ori-green); font-family:var(--font-serif); font-weight:400; letter-spacing:-.035em; }
.ori-lead { max-width:530px; margin:25px 0 30px; color:var(--ori-muted); font-size:1.08rem; line-height:1.65; }
.ori-start { display:flex; align-items:center; gap:20px; }
.ori-start>span { color:var(--ori-muted); font-size:.77rem; line-height:1.6; }
.ori-button { display:inline-flex; align-items:center; justify-content:center; gap:25px; min-height:52px; border:1px solid var(--ori-ink); border-radius:var(--radius); padding:12px 21px; color:var(--on-brand); background:var(--ori-ink); font-weight:650; font-size:.9rem; text-decoration:none; transition:background .15s; }
.ori-button:hover { background:var(--brand-hover); }
.ori-button>span { font-size:1.2rem; font-weight:400; }
.ori-privacy { display:flex; gap:8px; align-items:center; margin:19px 0 0; color:var(--ori-muted); font-size:.76rem; }
.ori-map { position:relative; min-height:375px; background:radial-gradient(ellipse at center,var(--surface-soft) 0,transparent 68%); }
.ori-map-lines { width:100%; height:100%; position:absolute; inset:0; }
.ori-map-origin { position:absolute; top:21px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:10px; padding:12px 24px; background:var(--ori-ink); color:white; border-radius:30px; box-shadow:0 8px 24px #14395b12; font-size:.82rem; white-space:nowrap; }
.ori-map-dot { width:8px; height:8px; border:2px solid var(--accent-light); border-radius:50%; }
.ori-map-card { position:absolute; width:245px; background:var(--surface); border:1px solid var(--ori-line); border-radius:10px; padding:20px 22px 19px 52px; box-shadow:var(--shadow-card); }
.ori-map-card>span { position:absolute; left:18px; top:23px; color:var(--ori-green); font-size:.71rem; }
.ori-map-card strong { display:block; font-size:.88rem; font-weight:650; }
.ori-map-card small { display:block; margin-top:5px; color:var(--ori-muted); font-size:.72rem; line-height:1.5; }
.ori-map-card-one { top:130px; left:0; transform:rotate(-3deg); }
.ori-map-card-two { top:222px; right:0; transform:rotate(3deg); }
.ori-map-destination { position:absolute; left:10px; bottom:19px; color:var(--ori-green); font-size:.74rem; }
.ori-map-destination>span { margin-right:6px; }
.ori-map-note { position:absolute; right:6px; top:107px; color:var(--muted); font-family:Georgia,serif; font-style:italic; font-size:.86rem; line-height:1.5; transform:rotate(4deg); }

.home-orientation { margin:0 0 44px; background:var(--canvas-alt); box-shadow:0 0 0 100vmax var(--canvas-alt); clip-path:inset(0 -100vmax); }
.ori-intro-promo { padding:42px 0; }
.ori-intro-promo :is(h1,h2) { max-width:690px; font-size:clamp(2.1rem,3.8vw,3.25rem); }
@media(max-width:900px) {
 .ori-intro { gap:10px; grid-template-columns:1.25fr 1fr; }
 .ori-map-card { width:210px; padding-left:43px; }
 .ori-map-note { display:none; }
 .ori-start { align-items:flex-start; flex-direction:column; gap:12px; }
}
@media(max-width:700px) {
 .ori-intro { grid-template-columns:1fr; padding:26px 0 29px; gap:0; }
 .ori-map { display:none; }
 .ori-intro :is(h1,h2) { font-size:clamp(2rem,7vw,3rem); }
 .ori-lead { font-size:.98rem; margin:20px 0 24px; }
 .ori-start { align-items:flex-start; }
 .ori-eyebrow { margin-bottom:16px; font-size:.67rem; }
 .home-orientation { margin-bottom:28px; }
}
@media(max-width:370px) { .ori-intro :is(h1,h2) { font-size:2rem; } }
@media(prefers-reduced-motion:reduce) { .ori-button { transition:none; } }
@media print { .home-orientation { display:none; } }
