:root{--bg:#111513;--surface:#1b201d;--muted:#a6aba4;--line:#454c46;--cream:#e6e2d5;--accent:#b5bcab;--font:'Manrope',sans-serif;--display:'Prata',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--font);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}img{display:block;width:100%}::selection{background:#b6bda8;color:#101411}.grain{position:fixed;inset:0;pointer-events:none;z-index:40;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.23'/%3E%3C/svg%3E")}.progress{position:fixed;top:0;left:0;height:2px;width:0;background:#d3d8c9;z-index:80}.header{height:78px;padding:0 clamp(22px,5vw,90px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#111513;position:relative;z-index:30}.wordmark{font-family:var(--display);font-size:30px;letter-spacing:-2px}.dot{color:#a6b4a1}.nav,.header-actions{display:flex;align-items:center;gap:clamp(14px,2.4vw,40px)}.nav a,.header-link,.sound{font-size:11px;letter-spacing:.09em;text-transform:uppercase}.nav a{color:#b7bcb4;transition:color .25s}.nav a:hover{color:#fff}.header-link{border-bottom:1px solid #9da79c;padding-bottom:7px}.header-link span{margin-left:10px}.sound{background:none;border:0;color:#c7ccbf;cursor:pointer;display:flex;gap:7px;align-items:center}.sound-icon{font-size:20px}.hero{min-height:min(810px,calc(100svh - 78px));position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#171b18}.hero-photo,.hero-veil{position:absolute;inset:0}.hero-photo{background:url('assets/waterfall.webp') center 44%/cover no-repeat;transform:scale(1.04);animation:slowzoom 18s ease-out both}.hero-veil{background:linear-gradient(90deg,rgba(7,10,8,.94) 0%,rgba(9,12,10,.75) 37%,rgba(9,12,10,.2) 76%),linear-gradient(0deg,rgba(9,12,10,.85),transparent 24%,transparent 75%,rgba(9,12,10,.3))}.hero-meta,.hero-copy,.hero-bottom,.hero-vertical{position:relative;z-index:1}.hero-meta,.hero-bottom{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#c4c7bc;padding:34px clamp(22px,5vw,90px)}.hero-copy{margin:55px clamp(22px,11vw,210px) 45px;max-width:780px}.eyebrow{display:flex;align-items:center;gap:16px;text-transform:uppercase;letter-spacing:.21em;font-size:10px;color:#d2d4c9}.hairline{height:1px;width:34px;background:#d1d4c7}.hero h1,.intro h2,.services h2,.reflection h2,.personal h2,.contact h2{font-family:var(--display);font-weight:400;letter-spacing:-.05em}.hero h1{font-size:clamp(60px,7.5vw,125px);line-height:1.09;margin:30px 0}.hero em,.intro em,.services em,.reflection em,.personal em,.contact em,.interlude em{font-style:italic;font-weight:400;color:#aab3a8}.hero-desc{max-width:410px;font-size:14px;line-height:1.9;color:#d2d4cd}.hero-buttons{display:flex;align-items:center;gap:30px;margin-top:36px}.btn{padding:17px 24px;display:inline-flex;align-items:center;gap:35px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;transition:background .25s,transform .25s}.btn:hover{transform:translateY(-3px)}.btn.light{background:#e2e3d9;color:#121612}.quiet-link{font-size:12px;border-bottom:1px solid #aeb7ab;padding-bottom:7px}.hero-bottom{padding-top:20px;padding-bottom:24px}.hero-bottom a span{margin-left:10px}.hero-vertical{position:absolute;right:3%;top:45%;writing-mode:vertical-rl;font-family:var(--display);font-size:12px;letter-spacing:.12em;color:#c7c7bd}.section{padding:clamp(85px,11vw,165px) clamp(22px,7vw,120px)}.section-index{font-size:10px;letter-spacing:.2em;color:#adb5aa;text-transform:uppercase}.intro{display:grid;grid-template-columns:1fr 3fr;gap:5vw;border-bottom:1px solid #303731}.intro-kicker{color:#a6afa5;font-size:12px;letter-spacing:.04em}.intro h2{font-size:clamp(32px,4.1vw,66px);line-height:1.4;max-width:1000px;margin:24px 0 35px}.intro-foot{display:flex;align-items:end;justify-content:space-between;gap:30px}.intro-foot p{font-size:13px;line-height:2;color:#aeb6ac;max-width:530px}.tiny-cross{font-size:55px;color:#7f8b7e}.services{background:#171c19}.services-top,.personal-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:65px}.services h2,.personal h2,.reflection h2{font-size:clamp(40px,5vw,76px);line-height:1.25;margin:26px 0 0}.services-top>p,.personal-head>p,.reflection-heading>p{font-size:13px;line-height:1.9;color:#b5bcb3;max-width:310px}.deck{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tarot-card{height:410px;perspective:1200px;cursor:pointer;position:relative;outline-offset:5px}.tarot-card:focus-visible{outline:2px solid #ddd}.card-inner{position:relative;width:100%;height:100%;transition:transform .85s cubic-bezier(.2,.65,.15,1);transform-style:preserve-3d}.tarot-card.is-open .card-inner{transform:rotateY(180deg)}.card-side{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid #566056;display:flex;flex-direction:column;padding:25px;overflow:hidden}.card-front{background:radial-gradient(ellipse at 50% 40%,#303831,#1a211d 75%)}.card-front:before{content:'';position:absolute;inset:11px;border:1px solid #566056;pointer-events:none}.card-number{font-size:10px;letter-spacing:.18em;color:#a9b2a5}.card-glyph{font-family:Georgia,serif;font-size:110px;line-height:1;color:#c3c8b6;text-align:center;margin:auto;transition:transform .6s,opacity .6s}.tarot-card:hover .card-glyph{transform:scale(1.1) rotate(-8deg);opacity:.75}.card-front h3{font-family:var(--display);font-weight:400;font-size:25px;line-height:1.4;margin:0 0 16px}.card-hint{font-size:10px;letter-spacing:.14em;color:#a8b0a4;text-transform:uppercase}.card-back{transform:rotateY(180deg);background:#d9dcd1;color:#202721}.card-back .card-number{color:#626c62}.card-back h3{font-family:var(--display);font-weight:400;font-size:26px;line-height:1.3;margin:45px 0 15px}.card-back .question{font-size:12px;color:#5a665b;line-height:1.8}.card-back .result{font-size:13px;line-height:1.85;margin:14px 0 auto}.card-back .price{font-size:19px;font-family:var(--display);margin-bottom:15px}.card-back a{background:#1d2922;color:#f2f3e8;display:flex;justify-content:space-between;padding:16px 15px;font-size:11px;letter-spacing:.07em}.service-note{font-size:11px;color:#929b90;margin-top:24px;line-height:1.8}.interlude{height:550px;position:relative;overflow:hidden;display:grid;place-items:center;text-align:center}.interlude-photo{position:absolute;inset:0;background:linear-gradient(#0a0f0bb0,#0a0f0bb0),url('assets/dusk.webp') center/cover}.interlude-inner{position:relative;padding:25px}.interlude-inner>span{font-size:10px;letter-spacing:.2em}.interlude p{font-family:var(--display);font-size:clamp(28px,4.2vw,60px);line-height:1.5;margin:26px 0}.interlude-mark{font-size:35px!important}.reflection{display:grid;grid-template-columns:1fr 1.3fr;gap:8vw}.reflection-heading>p{margin-top:25px}.reflection-panel{border-top:1px solid #5d685c;display:grid;grid-template-columns:1fr 1fr;min-height:360px}.reflection-options{display:flex;flex-direction:column}.reflection-options button{flex:1;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;border-bottom:1px solid #39433b;background:transparent;color:#cbd0c5;padding:18px 15px 18px 0;cursor:pointer;font-size:13px;transition:padding .2s,color .2s}.reflection-options button:hover,.reflection-options button.active{padding-left:12px;color:white}.reflection-answer{background:#242c26;padding:25px;display:flex;flex-direction:column;justify-content:center;align-items:start;gap:15px}.answer-symbol{font-size:58px;color:#c8cbbd}.reflection-answer>span{font-size:10px;letter-spacing:.15em;color:#9ea99e}.reflection-answer p{font-family:var(--display);font-size:18px;line-height:1.8;margin:0}.personal{background:#171c19}.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:250px 250px 220px;gap:14px}.gallery-item{position:relative;padding:0;border:0;overflow:hidden;cursor:zoom-in;background:#2b332e}.gallery-item img{height:100%;object-fit:cover;filter:saturate(.68) brightness(.77);transition:transform .8s,filter .8s}.gallery-item:hover img{transform:scale(1.055);filter:saturate(.9) brightness(.93)}.gallery-item span{position:absolute;bottom:17px;left:18px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;text-shadow:0 1px 8px #000}.gallery-main{grid-column:1/6;grid-row:1/4}.gallery-main img{object-position:center 35%}.gallery-shore{grid-column:6/10;grid-row:1/3}.gallery-sunrise{grid-column:10/13;grid-row:1/3}.gallery-cliff{grid-column:6/10;grid-row:3/4}.gallery-dusk{grid-column:10/13;grid-row:3/4}.contact{background:#cbd0c3;color:#172019;text-align:center;padding-top:125px;padding-bottom:90px}.contact-overline{font-size:10px;letter-spacing:.2em}.contact>p{font-size:13px;margin-top:55px}.contact h2{font-size:clamp(62px,10vw,150px);line-height:1.1;margin:30px 0 50px}.contact h2 em{color:#6e7b6d}.contact-cta{display:inline-flex;gap:65px;justify-content:space-between;align-items:center;background:#1b2920;color:#f3f4e8;padding:22px 28px;text-transform:uppercase;font-size:11px;letter-spacing:.1em;transition:transform .25s}.contact-cta:hover{transform:translateY(-4px)}.contact-bottom{display:flex;justify-content:center;gap:30px;margin-top:80px;font-size:11px;text-decoration:underline;text-underline-offset:5px}footer{display:flex;justify-content:space-between;padding:30px clamp(22px,7vw,120px);font-size:10px;letter-spacing:.12em;color:#a6afa4;text-transform:uppercase}.lightbox{border:0;background:#0d110fee;color:white;padding:45px 20px 20px;max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;overflow:hidden}.lightbox::backdrop{background:#000e}.lightbox img{height:calc(100% - 70px);width:100%;object-fit:contain}.close-lightbox{position:absolute;right:25px;top:10px;color:white;background:none;border:0;font-size:38px;cursor:pointer}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;max-width:900px;margin:15px auto;font-size:12px}.lightbox-bottom button{background:none;border:1px solid #6b756c;color:white;padding:7px 16px;cursor:pointer;margin-left:10px}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@keyframes slowzoom{from{transform:scale(1.09)}to{transform:scale(1)}}@media(max-width:1000px){.deck{grid-template-columns:repeat(2,1fr)}.reflection{grid-template-columns:1fr;gap:45px}.hero-copy{margin-left:8vw}.intro{grid-template-columns:1fr;gap:30px}.gallery{grid-template-rows:repeat(3,200px)}.gallery-main{grid-column:1/7}.gallery-shore{grid-column:7/13;grid-row:1/3}.gallery-sunrise{grid-column:1/7;grid-row:3}.gallery-cliff{grid-column:7/10;grid-row:3}.gallery-dusk{grid-column:10/13;grid-row:3}}@media(max-width:650px){.header{height:66px;padding:0 20px}.wordmark{font-size:27px}.nav{display:none}.header-actions{gap:15px}.header-link{font-size:10px}.sound-label{display:none}.hero{min-height:calc(100svh - 66px)}.hero-photo{background-position:57% center}.hero-veil{background:linear-gradient(90deg,#070a08e8,#090c0a77),linear-gradient(0deg,#090c0ae0,transparent 38%)}.hero-meta,.hero-bottom{padding:20px;font-size:8px;gap:15px}.hero-meta span:last-child,.hero-bottom span{display:none}.hero-copy{margin:70px 20px 40px}.hero h1{font-size:clamp(49px,13vw,75px)}.hero-desc{font-size:12px}.hero-buttons{flex-wrap:wrap;gap:22px}.hero-vertical{display:none}.section{padding:80px 20px}.intro h2{font-size:34px}.intro-foot{align-items:start}.services-top,.personal-head{display:block;margin-bottom:35px}.services-top>p,.personal-head>p{margin-top:25px}.services h2,.personal h2,.reflection h2{font-size:43px}.deck{grid-template-columns:1fr;gap:18px}.tarot-card{height:360px}.card-glyph{font-size:95px}.card-back h3{margin-top:25px}.interlude{height:430px}.reflection-panel{grid-template-columns:1fr}.reflection-options button{min-height:65px}.reflection-answer{min-height:220px}.gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:300px 200px 180px;gap:9px}.gallery-main{grid-column:1/3;grid-row:1}.gallery-shore{grid-column:1;grid-row:2}.gallery-sunrise{grid-column:2;grid-row:2}.gallery-cliff{grid-column:1;grid-row:3}.gallery-dusk{grid-column:2;grid-row:3}.contact{padding:85px 20px}.contact h2{font-size:68px}.contact-cta{width:100%;gap:10px;padding:21px 18px;font-size:10px}.contact-bottom{margin-top:55px}footer{padding:25px 20px;gap:20px;flex-wrap:wrap}footer span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* iOS Safari: safe areas, text, controls, transforms */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:76px}
body{min-width:0;overflow-x:clip;overscroll-behavior-x:none}
button,input,select,textarea{font-family:inherit}
button{-webkit-appearance:none;appearance:none;border-radius:0}
a,button,[role="button"]{touch-action:manipulation}
a:focus-visible,button:focus-visible,[role="button"]:focus-visible{outline:2px solid #e6e2d5;outline-offset:4px}
.header{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.hero,.section,.contact,footer{min-width:0}
.hero{min-height:calc(100vh - 78px);min-height:calc(100svh - 78px)}
.hero h1,.intro h2,.services h2,.reflection h2,.personal h2,.contact h2{hyphens:none}
.tarot-card{-webkit-perspective:1200px;perspective:1200px;touch-action:pan-y}
.card-inner{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}
.card-side{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(1px);transform:translateZ(1px)}
.card-back{-webkit-transform:rotateY(180deg) translateZ(1px);transform:rotateY(180deg) translateZ(1px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.card-back .result,.card-back .price,.card-back h3{flex-shrink:0}
.card-back a,.btn,.contact-cta{min-height:48px}
.gallery-item img{-webkit-user-drag:none}
.lightbox{position:fixed;inset:0;max-width:100%;max-height:100%;width:100%;height:100dvh;margin:0;box-sizing:border-box;padding:max(56px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));-webkit-overflow-scrolling:touch}
.lightbox img{height:calc(100% - 75px);object-fit:contain}
.close-lightbox{top:max(8px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));min-width:48px;min-height:48px}
.lightbox-bottom button{min-width:48px;min-height:44px}
.ui-arrow{width:1.15em;height:1.15em;flex:none;display:inline-block;vertical-align:-.15em;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(hover:none){.tarot-card:hover .card-glyph{transform:none;opacity:1}.gallery-item:hover img{transform:none;filter:saturate(.68) brightness(.77)}}
@media(max-width:650px){
 html{scroll-padding-top:68px}
 .header{height:66px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));gap:8px}
 .header-actions{gap:9px}.sound{min-width:44px;min-height:44px;justify-content:center}
 .header-link{min-height:44px;display:flex;align-items:center;gap:4px;white-space:nowrap}
 .hero{min-height:calc(100vh - 66px);min-height:calc(100svh - 66px)}
 .hero-copy{margin:40px max(20px,env(safe-area-inset-left)) 35px}
 .hero h1{font-size:clamp(43px,12vw,68px);line-height:1.13;letter-spacing:-.045em}
 .hero-meta,.hero-bottom{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
 .hero-buttons{gap:16px}.btn{padding:15px 16px;gap:14px}
 .section{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
 .intro h2{font-size:clamp(29px,8vw,38px);line-height:1.45}
 .services h2,.personal h2,.reflection h2{font-size:clamp(35px,10vw,43px)}
 .tarot-card{height:390px}.card-side{padding:22px}
 .card-back h3{margin:19px 0 9px;font-size:24px}
 .card-back .question{line-height:1.55}
 .card-back .result{font-size:12px;line-height:1.65;margin:9px 0 auto}
 .card-back .price{font-size:17px;margin:10px 0}.card-back a{padding:13px}
 .reflection-options button{min-height:58px;padding:14px 10px}
 .gallery{grid-template-rows:260px 170px 155px}
 .contact h2{font-size:clamp(49px,14vw,68px)}
 .contact-bottom{flex-wrap:wrap;gap:18px}
 footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}
}
@media(max-width:375px){
 .wordmark{font-size:24px}.hero h1{font-size:clamp(40px,11.5vw,48px)}
 .eyebrow{font-size:9px;letter-spacing:.12em}.hero-desc{line-height:1.7}
 .hero-buttons{align-items:flex-start;flex-direction:column}
 .gallery{grid-template-rows:225px 145px 145px}.tarot-card{height:410px}
}
@media(max-height:700px) and (max-width:650px){.hero-copy{margin-top:22px;margin-bottom:18px}.hero h1{margin:14px 0}.hero-meta,.hero-bottom{padding-top:12px;padding-bottom:12px}}
