@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Montserrat:wght@300;400;500;600&display=swap');
:root{--ivory:#f7efe7;--cream:#fffaf5;--copper:#9b4d24;--gold:#c69a51;--ink:#542b20;--muted:#86695e}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Montserrat,"Helvetica Neue",Arial,sans-serif}a{color:inherit}
.site-shell{min-height:100svh;position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;padding:54px 24px 38px;background:radial-gradient(circle at 18% 22%,rgba(198,154,81,.16),transparent 30%),radial-gradient(circle at 82% 72%,rgba(155,77,36,.13),transparent 34%),linear-gradient(135deg,#fffaf5 0%,#f8eee5 50%,#f3e5d9 100%)}
.grain{position:absolute;inset:0;z-index:-1;opacity:.22;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.10'/%3E%3C/svg%3E")}
.ambient{position:absolute;z-index:-1;border:1px solid rgba(155,77,36,.14);border-radius:50%}.ambient-one{width:46vw;height:46vw;min-width:420px;min-height:420px;left:-21vw;top:-20vw;animation:breathe 9s ease-in-out infinite}.ambient-two{width:38vw;height:38vw;min-width:360px;min-height:360px;right:-15vw;bottom:-18vw;animation:breathe 11s ease-in-out infinite reverse}
.hero{width:min(1160px,100%);display:grid;grid-template-columns:minmax(390px,1.03fr) minmax(420px,.97fr);align-items:center;gap:clamp(44px,7vw,100px)}.logo-stage{position:relative;min-height:570px;display:grid;place-items:center}.brand-logo{position:relative;z-index:3;display:block;width:min(520px,90%);height:auto;mix-blend-mode:multiply;filter:drop-shadow(0 22px 38px rgba(92,43,22,.09));animation:logo-arrive 1.4s cubic-bezier(.2,.8,.2,1) both,float 7s ease-in-out 1.4s infinite}.logo-halo{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9),rgba(198,154,81,.08) 48%,transparent 70%);filter:blur(10px);animation:pulse 6s ease-in-out infinite}.orbit{position:absolute;border-radius:50%;border:1px solid rgba(155,77,36,.2);animation:spin 22s linear infinite}.orbit-one{width:86%;aspect-ratio:1}.orbit-two{width:66%;aspect-ratio:1;animation-duration:16s;animation-direction:reverse}.orbit i{position:absolute;width:8px;height:8px;background:var(--gold);border-radius:50%;top:11%;left:15%;box-shadow:0 0 20px rgba(198,154,81,.85)}.orbit-two i{width:5px;height:5px;top:79%;left:88%;background:var(--copper)}
.content{max-width:520px;animation:content-arrive 1.15s .2s cubic-bezier(.2,.8,.2,1) both}.eyebrow{margin:0 0 18px;font-size:11px;letter-spacing:.28em;font-weight:600;color:var(--copper)}h1{margin:0;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:clamp(68px,8vw,118px);line-height:.78;font-weight:500;letter-spacing:-.045em;color:var(--ink)}.tagline{margin:32px 0 6px;font-size:clamp(11px,1.2vw,14px);letter-spacing:.18em;font-weight:500}.promise{margin:0;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:clamp(27px,3vw,38px);font-style:italic;color:var(--copper)}.identity{margin:31px 0 22px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.identity strong{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:22px;letter-spacing:.05em;font-weight:600}.identity span{font-size:9px;letter-spacing:.2em;font-weight:600;color:var(--muted)}.services{margin:0 0 28px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.services li{padding:8px 11px;border:1px solid rgba(155,77,36,.2);border-radius:99px;background:rgba(255,250,245,.48);font-size:10px;letter-spacing:.06em;transition:transform .25s ease,background .25s ease}.services li:hover{transform:translateY(-2px);background:rgba(255,255,255,.76)}
.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:9px 20px;padding-top:23px;border-top:1px solid rgba(155,77,36,.18)}.contact-item,.location{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:12px;transition:color .2s ease}.contact-item svg,.location svg,.icon{flex:0 0 auto;color:var(--copper);stroke-width:1.5}.icon{display:inline-grid;place-items:center;width:18px;height:18px;font-size:15px;font-weight:500}.contact-item:hover,.location:hover{color:var(--copper)}.web-link{grid-column:1/-1;padding-left:27px;letter-spacing:.04em}.location{width:fit-content;margin-top:21px;align-items:flex-start;line-height:1.6}.footer-note{position:absolute;bottom:16px;margin:0;font-size:8px;letter-spacing:.24em;color:rgba(84,43,32,.52)}
@keyframes logo-arrive{from{opacity:0;transform:scale(.92);filter:blur(7px)}to{opacity:1;transform:scale(1);filter:drop-shadow(0 22px 38px rgba(92,43,22,.09))}}@keyframes content-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{transform:scale(.95);opacity:.7}50%{transform:scale(1.06);opacity:1}}@keyframes breathe{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.08);opacity:1}}
@media(max-width:860px){.site-shell{padding-top:30px;overflow:auto}.hero{grid-template-columns:1fr;gap:8px;text-align:center}.logo-stage{min-height:370px}.brand-logo{width:88vw;max-width:430px;height:auto;animation:mobile-logo-in .85s ease-out both;transform:none!important;filter:none!important;-webkit-transform:none!important;-webkit-filter:none!important;image-rendering:auto;backface-visibility:hidden}.orbit-one{width:min(430px,88vw)}.orbit-two{width:min(330px,67vw)}.content{margin:0 auto}.identity,.services{justify-content:center}.contact-grid{text-align:left}.location{margin-left:auto;margin-right:auto;text-align:left}.footer-note{position:static;margin-top:36px}}@media(max-width:520px){.site-shell{padding:18px 18px 26px}.logo-stage{min-height:310px}h1{font-size:65px}.tagline{line-height:1.7}.identity{display:grid;gap:2px}.contact-grid{grid-template-columns:1fr;width:fit-content;margin:0 auto}.web-link{grid-column:auto;padding-left:27px}}@keyframes mobile-logo-in{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
