:root{--terracotta:#8B3A1E;--terracotta-deep:#6B2A12;--terracotta-soft:#A6492A;--cream:#FAF0E0;--cream-warm:#F4E4CC;--cream-deep:#EBD7B8;--gold:#C97D2E;--gold-soft:#D89A57;--ink:#3A1A0E;--ink-soft:#5A3325;--rule:rgba(201,125,46,.35)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:Nunito,system-ui,sans-serif;font-weight:300;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:Playfair Display,Georgia,serif;font-weight:400;letter-spacing:-.01em;line-height:1.05}.display{font-style:italic;font-weight:500}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{max-width:1240px;margin:0 auto;padding:0 40px}.narrow{max-width:780px;margin:0 auto;padding:0 40px}nav.site{position:fixed;top:0;left:0;right:0;z-index:50;padding:22px 0;transition:background .35s ease,backdrop-filter .35s ease,box-shadow .35s ease,color .35s ease;color:var(--cream)}nav.site.scrolled{background:#faf0e0eb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px #3a1a0e0f;color:var(--ink)}nav.site .row{display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{font-family:Playfair Display,serif;font-style:italic;font-weight:500;font-size:22px;letter-spacing:.01em}.brand .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin:0 8px 3px 2px;vertical-align:middle}nav.site ul{list-style:none;display:flex;gap:34px;align-items:center;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:400}nav.site ul a{opacity:.85;transition:opacity .2s}nav.site ul a:hover{opacity:1}nav.site .book{font-family:Nunito,sans-serif;font-weight:500;font-size:12px;letter-spacing:.22em;text-transform:uppercase;padding:11px 22px;border:1px solid currentColor;border-radius:999px;transition:background .25s ease,color .25s ease}nav.site .book:hover{background:var(--gold);border-color:var(--gold);color:var(--cream)}@media(max-width:780px){nav.site ul{display:none}}.hero{position:relative;min-height:100vh;color:var(--cream);background:radial-gradient(80% 60% at 80% 10%,#d99a5773,#d99a5700 60%),radial-gradient(70% 60% at 15% 90%,#6b2a12b3,#6b2a1200 60%),linear-gradient(180deg,#a6492a,#8b3a1e 55%,#6b2a12);overflow:hidden;display:flex;align-items:flex-end;padding:88px 0 56px}.hero:before{content:"";position:absolute;top:-200px;right:-160px;width:680px;height:680px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#ffd5a08c,#ffd5a02e 35%,#ffd5a000 65%);filter:blur(10px);pointer-events:none}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95  0 0 0 0 0.85  0 0 0 0 0.7  0 0 0 0.18 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");opacity:.5;mix-blend-mode:overlay}.hero .container{position:relative;z-index:2;width:100%}.hero .eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;font-weight:400;color:var(--gold-soft);margin-bottom:28px;display:flex;align-items:center;gap:14px;opacity:0;animation:rise .9s ease .1s forwards}.hero .eyebrow:before{content:"";width:46px;height:1px;background:var(--gold-soft);display:inline-block}.hero h1{font-size:clamp(56px,10.5vw,168px);letter-spacing:-.025em;line-height:.92;max-width:14ch;opacity:0;animation:rise 1.4s cubic-bezier(.2,.7,.2,1) .25s forwards}.hero h1 em{font-style:italic;font-weight:500;color:#f8ddb6}.hero h1 .small{display:block;font-style:normal;font-weight:400;font-size:.42em;letter-spacing:-.01em;line-height:1.05;margin-top:18px;color:#faf0e0eb;max-width:18ch}.hero .meta{margin-top:48px;display:flex;flex-wrap:wrap;align-items:center;gap:28px 40px;opacity:0;animation:rise 1s ease .9s forwards}.hero .cta{display:inline-flex;align-items:center;gap:14px;background:var(--cream);color:var(--ink);padding:20px 30px 20px 34px;border-radius:999px;font-weight:500;letter-spacing:.04em;font-size:15px;transition:transform .25s ease,background .25s ease,color .25s ease;box-shadow:0 10px 40px -10px #0006}.hero .cta:hover{background:var(--gold);color:var(--cream);transform:translateY(-2px)}.hero .cta .arrow{width:34px;height:34px;border-radius:50%;background:var(--terracotta);color:var(--cream);display:grid;place-items:center;font-size:14px;transition:transform .25s ease}.hero .cta:hover .arrow{transform:translate(3px);background:var(--cream);color:var(--terracotta)}.hero .meta .note{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#faf0e0bf}.hero .meta .note strong{color:var(--gold-soft);font-weight:400;letter-spacing:.2em}.hero .corner{position:absolute;left:40px;bottom:34px;z-index:3;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#faf0e0b3;display:flex;align-items:center;gap:10px}.hero .corner .yr{font-family:Playfair Display,serif;font-style:italic;font-size:14px;letter-spacing:0;color:var(--gold-soft)}.hero .scroll{position:absolute;right:40px;bottom:34px;z-index:3;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#faf0e0b3;display:flex;align-items:center;gap:12px}.hero .scroll .line{display:inline-block;width:36px;height:1px;background:#faf0e080;animation:pulseline 2.4s ease infinite}@keyframes pulseline{0%,to{transform:scaleX(1);opacity:.5}50%{transform:scaleX(1.4);opacity:.9}}@keyframes rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.intro{padding:88px 0 72px;text-align:center;position:relative}.intro .mark{color:var(--gold);font-size:13px;letter-spacing:.32em;text-transform:uppercase;margin-bottom:34px;font-weight:400}.intro h2{font-size:clamp(36px,5.2vw,68px);line-height:1.08;letter-spacing:-.02em;max-width:14ch;margin:0 auto}.intro h2 em{font-style:italic;color:var(--terracotta)}.intro p{margin:36px auto 0;max-width:54ch;color:var(--ink-soft);font-size:18px;line-height:1.7}.intro .ornament{margin:54px auto 0;width:1px;height:64px;background:var(--rule);position:relative}.intro .ornament:before,.intro .ornament:after{content:"";position:absolute;left:50%;transform:translate(-50%);width:6px;height:6px;border-radius:50%;background:var(--gold)}.intro .ornament:before{top:-3px}.intro .ornament:after{bottom:-3px}.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:30px;margin-bottom:64px}.sec-head .num{font-family:Playfair Display,serif;font-style:italic;color:var(--gold);font-size:18px}.sec-head h3{font-size:clamp(34px,4.2vw,56px);letter-spacing:-.02em}.sec-head h3 em{font-style:italic;color:var(--terracotta)}.sec-head .tag{font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-soft);max-width:24ch;text-align:right}@media(max-width:680px){.sec-head{flex-direction:column;align-items:flex-start}.sec-head .tag{text-align:left}}.services{padding:56px 0 88px;background:var(--cream-warm)}.services .list{max-width:880px;margin:0 auto}.services .row-svc{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:34px 8px;border-top:1px solid var(--rule);transition:padding .35s ease;cursor:default}.services .row-svc:last-child{border-bottom:1px solid var(--rule)}.services .row-svc .name{font-family:Playfair Display,serif;font-size:clamp(28px,3.4vw,42px);letter-spacing:-.01em;color:var(--ink);transition:color .25s ease,transform .35s ease,font-style .25s ease;flex:1}.services .row-svc:hover .name{color:var(--terracotta);font-style:italic;transform:translate(8px)}.services .row-svc .idx{font-family:Playfair Display,serif;font-style:italic;color:var(--gold);font-size:14px;letter-spacing:.06em;min-width:34px}.services .row-svc .arr{width:42px;height:42px;border-radius:50%;border:1px solid var(--rule);display:grid;place-items:center;color:var(--gold);font-size:14px;transition:background .25s,color .25s,border-color .25s,transform .35s}.services .row-svc:hover .arr{background:var(--gold);color:var(--cream);border-color:var(--gold);transform:rotate(-45deg)}.services .footnote{margin-top:48px;text-align:center;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-soft)}.services .footnote span{color:var(--gold);margin:0 10px}.about{padding:88px 0;background:var(--cream)}.about .grid{display:grid;grid-template-columns:.85fr 1fr;gap:80px;align-items:center}@media(max-width:880px){.about .grid{grid-template-columns:1fr;gap:48px}}.about .photo{position:relative;aspect-ratio:4/5;background:repeating-linear-gradient(135deg,#8b3a1e14 0,#8b3a1e14 14px,#8b3a1e29 14px,#8b3a1e29 28px),linear-gradient(160deg,#e8c496,#c97d2e 60%,#8b3a1e);border-radius:4px;overflow:hidden;box-shadow:0 30px 80px -30px #6b2a1273}.about .photo:before{content:"OWNER PORTRAIT";position:absolute;left:18px;top:18px;font-family:Nunito,monospace;font-size:10px;letter-spacing:.28em;color:#faf0e0d9;font-weight:500}.about .photo:after{content:"";position:absolute;left:18px;right:18px;bottom:18px;height:1px;background:#faf0e073}.about .photo .tag{position:absolute;left:18px;bottom:26px;font-family:Playfair Display,serif;font-style:italic;font-size:18px;color:var(--cream)}.about .photo .frame{position:absolute;top:14px;right:14px;bottom:14px;left:14px;border:1px solid rgba(250,240,224,.35);pointer-events:none}.about .copy .eyebrow{color:var(--gold);font-size:12px;letter-spacing:.32em;text-transform:uppercase;margin-bottom:22px}.about .copy h3{font-size:clamp(36px,4.6vw,58px);letter-spacing:-.02em;line-height:1.05}.about .copy h3 em{font-style:italic;color:var(--terracotta)}.about .copy p{margin-top:24px;color:var(--ink-soft);font-size:17px;line-height:1.75;max-width:46ch}.about .sig{margin-top:36px;display:flex;align-items:center;gap:18px;font-family:Playfair Display,serif;font-style:italic;font-size:26px;color:var(--terracotta)}.about .sig:after{content:"Founder, Sun Ritual";font-family:Nunito,sans-serif;font-style:normal;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-soft)}.gallery{padding:88px 0;background:var(--cream-warm)}.gallery .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media(max-width:880px){.gallery .grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.gallery .grid{grid-template-columns:repeat(2,1fr)}}.gallery .tile{aspect-ratio:1/1.18;border-radius:3px;overflow:hidden;position:relative;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.gallery .tile:hover{transform:translateY(-4px)}.gallery .tile:after{content:attr(data-label);position:absolute;left:12px;bottom:10px;font-family:Nunito,monospace;font-size:9px;letter-spacing:.22em;color:#ffffffc7;text-transform:uppercase}.gallery .tile .ring{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(255,255,255,.18);border-radius:2px;pointer-events:none}.g1{background:linear-gradient(160deg,#e8b884,#c97d2e 70%,#8b3a1e)}.g2{background:linear-gradient(200deg,#f0cfa1,#d89a57,#a6492a)}.g3{background:linear-gradient(135deg,#c97d2e,#6b2a12)}.g4{background:linear-gradient(180deg,#e8c496,#8b3a1e)}.g5{background:linear-gradient(170deg,#f4e4cc,#d89a57 60%,#8b3a1e)}.g6{background:linear-gradient(140deg,#a6492a,#6b2a12)}.g7{background:linear-gradient(190deg,#f0cfa1,#c97d2e 70%)}.g8{background:linear-gradient(160deg,#d89a57,#8b3a1e)}.g9{background:linear-gradient(220deg,#e8b884,#a6492a 80%)}.g10{background:linear-gradient(150deg,#f4e4cc,#e8b884,#c97d2e)}.g11{background:linear-gradient(175deg,#c97d2e,#8b3a1e 60%,#6b2a12)}.g12{background:linear-gradient(200deg,#f0cfa1,#d89a57 60%,#8b3a1e)}.testimonials{padding:88px 0;background:var(--cream)}.testimonials .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}@media(max-width:880px){.testimonials .cards{grid-template-columns:1fr}}.tcard{background:var(--cream-warm);border-left:3px solid var(--terracotta);padding:40px 36px 36px;border-radius:2px;position:relative;transition:transform .35s ease,box-shadow .35s ease}.tcard:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px #6b2a1240}.tcard .quote{font-family:Playfair Display,serif;font-style:italic;font-weight:400;font-size:22px;line-height:1.45;color:var(--ink);letter-spacing:-.005em}.tcard .quote:before{content:"“";position:absolute;top:14px;left:18px;font-family:Playfair Display,serif;font-size:64px;line-height:1;color:var(--gold);opacity:.45}.tcard .who{margin-top:28px;display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft)}.tcard .who:before{content:"";width:24px;height:1px;background:var(--gold)}.tcard .stars{margin-top:18px;color:var(--gold);letter-spacing:3px;font-size:13px}.band{position:relative;padding:88px 0;color:var(--cream);background:radial-gradient(60% 60% at 80% 30%,#d99a5780,#d99a5700 60%),linear-gradient(180deg,#8b3a1e,#6b2a12);overflow:hidden;text-align:center}.band:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95  0 0 0 0 0.85  0 0 0 0 0.7  0 0 0 0.16 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");opacity:.5;mix-blend-mode:overlay;pointer-events:none}.band .container{position:relative}.band .eyebrow{color:var(--gold-soft);font-size:12px;letter-spacing:.32em;text-transform:uppercase;margin-bottom:26px}.band h2{font-size:clamp(48px,7.5vw,108px);line-height:.98;letter-spacing:-.025em;max-width:14ch;margin:0 auto}.band h2 em{font-style:italic;color:#f8ddb6}.band .cta{margin-top:48px;display:inline-flex;align-items:center;gap:14px;background:var(--cream);color:var(--ink);padding:20px 30px 20px 34px;border-radius:999px;font-weight:500;letter-spacing:.04em;font-size:15px;transition:transform .25s ease,background .25s ease,color .25s ease;box-shadow:0 10px 40px -10px #0006}.band .cta:hover{background:var(--gold);color:var(--cream);transform:translateY(-2px)}.band .cta .arrow{width:34px;height:34px;border-radius:50%;background:var(--terracotta);color:var(--cream);display:grid;place-items:center;font-size:14px}.band .cta:hover .arrow{background:var(--cream);color:var(--terracotta)}.band .sub{margin-top:24px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:#faf0e0b3}.contact{padding:88px 0;background:var(--cream-warm)}.contact .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}@media(max-width:880px){.contact .grid{grid-template-columns:1fr;gap:48px}}.contact h3{font-size:clamp(36px,4.4vw,54px);letter-spacing:-.02em;line-height:1.05}.contact h3 em{font-style:italic;color:var(--terracotta)}.contact .lede{margin-top:22px;color:var(--ink-soft);font-size:17px;line-height:1.7;max-width:42ch}.contact .areas{margin-top:36px;padding-top:28px;border-top:1px solid var(--rule)}.contact .areas .label{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}.contact .areas .text{font-family:Playfair Display,serif;font-style:italic;font-size:20px;line-height:1.5;color:var(--ink)}.contact .meta{margin-top:28px;display:flex;flex-wrap:wrap;gap:24px 40px;font-size:13px;letter-spacing:.04em;color:var(--ink-soft)}.contact .meta a{color:var(--ink);border-bottom:1px solid var(--rule);padding-bottom:2px;transition:color .2s,border-color .2s}.contact .meta a:hover{color:var(--terracotta);border-color:var(--terracotta)}.contact .meta .k{display:block;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}form.book{background:var(--cream);padding:44px 40px;border-radius:3px;box-shadow:0 30px 60px -30px #6b2a1233}form.book .field{margin-bottom:22px}form.book label{display:block;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-weight:500}form.book input,form.book select,form.book textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--rule);padding:10px 0;font-family:Nunito,sans-serif;font-size:16px;font-weight:300;color:var(--ink);outline:none;transition:border-color .25s}form.book input:focus,form.book select:focus,form.book textarea:focus{border-color:var(--terracotta)}form.book textarea{resize:vertical;min-height:80px}form.book .two{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:560px){form.book .two{grid-template-columns:1fr}}form.book button{margin-top:16px;background:var(--terracotta);color:var(--cream);border:none;cursor:pointer;padding:18px 28px;border-radius:999px;font-family:Nunito,sans-serif;font-weight:500;font-size:13px;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px;transition:background .25s,transform .25s}form.book button:hover{background:var(--gold);transform:translateY(-2px)}form.book button .arrow{width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}form.book .ok{margin-top:18px;font-size:13px;color:var(--terracotta);font-style:italic;font-family:Playfair Display,serif;display:none}form.book.sent .ok{display:block}footer{background:var(--terracotta-deep);color:var(--cream);padding:80px 0 30px}footer .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:60px;border-bottom:1px solid rgba(250,240,224,.15)}@media(max-width:780px){footer .grid{grid-template-columns:1fr 1fr;gap:36px}}footer .brand-block .logo{font-family:Playfair Display,serif;font-style:italic;font-size:30px}footer .brand-block .logo .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin:0 8px 5px 2px;vertical-align:middle}footer .brand-block p{margin-top:16px;font-size:14px;color:#faf0e0b3;max-width:34ch;line-height:1.6}footer h4{font-family:Nunito,sans-serif;font-weight:500;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:18px}footer ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:14px;color:#faf0e0d9}footer ul a{transition:color .2s}footer ul a:hover{color:var(--gold-soft)}footer .bottom{margin-top:30px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#faf0e08c}footer .bottom em{font-family:Playfair Display,serif;font-style:italic;letter-spacing:0;color:var(--gold-soft);text-transform:none;font-size:13px}@media(max-width:560px){footer .bottom{flex-direction:column;align-items:flex-start}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
