:root{--parchment: #F4EDE1;--stone: #EADFCC;--stone-2: #DED0B8;--taupe: #9E907A;--eucalyptus: #5E7157;--euc-deep: #364330;--leaf: #8CA07C;--charcoal: #2A2621;--clay: #B27C57;--ink-soft: #55503f;--wrap: 1080px;--r: 16px;--sh: 0 18px 44px -22px rgba(42, 38, 33, .45);--font-display: "Lora", Georgia, "Times New Roman", serif;--font-body: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}body{background:var(--parchment);color:var(--charcoal);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}.container{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:22px}.section{padding-block:clamp(56px,9vw,104px)}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.08;margin:0;letter-spacing:-.01em}p{margin:0 0 1em}p:last-child{margin-bottom:0}.h2{font-size:clamp(1.9rem,5.4vw,3rem);color:var(--euc-deep)}.eyebrow{font-family:var(--font-body);font-weight:700;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--eucalyptus);margin:0 0 .9em}.eyebrow--light{color:var(--leaf)}.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--font-body);font-weight:700;font-size:.98rem;line-height:1;padding:.92em 1.5em;border-radius:999px;text-decoration:none;border:1.5px solid transparent;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease,color .18s ease;cursor:pointer}.btn__ic{flex:0 0 auto}.btn--primary{background:var(--eucalyptus);color:#fff;box-shadow:0 12px 26px -14px #364330e6}.btn--primary:hover{background:var(--euc-deep);transform:translateY(-2px)}.btn--ghost{background:transparent;color:var(--euc-deep);border-color:#36433052}.btn--ghost:hover{background:#5e71571a;border-color:var(--eucalyptus)}.btn--ghost-light{color:#eadfcc;border-color:#eadfcc66}.btn--ghost-light:hover{background:#eadfcc1f;border-color:#eadfccbf}.btn--light{background:var(--parchment);color:var(--euc-deep)}.btn--light:hover{background:#fff;transform:translateY(-2px)}.btn:focus-visible{outline:3px solid var(--clay);outline-offset:3px}.cta-row{display:flex;flex-wrap:wrap;gap:12px}.cta-row--center{justify-content:center}.hero{position:relative;background:radial-gradient(120% 90% at 88% 8%,rgba(94,113,87,.16),transparent 60%),radial-gradient(90% 70% at 6% 100%,rgba(178,124,87,.12),transparent 55%),linear-gradient(168deg,#3b4834,#46523c 42%,#4c5741);color:#f4ede1;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(244,237,225,.05) 1px,transparent 1px);background-size:18px 18px;opacity:.6;pointer-events:none}.hero__inner{position:relative;z-index:1;display:grid;gap:34px;padding-block:clamp(46px,9vw,90px);align-items:center}.hero__copy{max-width:40rem}.hero__title{font-size:clamp(3.3rem,15vw,6.6rem);line-height:.92;letter-spacing:-.02em;margin:.1em 0 .36em;color:#f6f0e4}.hero__lead{font-size:clamp(1.06rem,3.4vw,1.28rem);color:#f4ede1db;max-width:30rem;margin-bottom:1.5em}.hero .cta-row{margin-top:1.7em}.rating-chip{display:inline-flex;align-items:center;gap:.4em;background:#f4ede11a;border:1px solid rgba(244,237,225,.22);padding:.5em .95em;border-radius:999px;font-size:.9rem;font-weight:600}.rating-chip__stars{color:#e7c27a;letter-spacing:.05em}.rating-chip__num{font-weight:800}.rating-chip__sep{opacity:.5}.rating-chip__count{color:#f4ede1cc;font-weight:600}.hero__figure{position:relative;margin:0;justify-self:center;width:100%;max-width:460px}.hero__frame{border-radius:50% 50% 18px 18px/26% 26% 4% 4%;overflow:hidden;border:6px solid rgba(244,237,225,.12);box-shadow:0 30px 60px -28px #0009;aspect-ratio:4 / 4.4}.hero__frame img{width:100%;height:100%;object-fit:cover}.cairn{display:block}.cairn--float{position:absolute;bottom:-22px;left:-12px;width:66px;height:auto;filter:drop-shadow(0 10px 16px rgba(0,0,0,.4));animation:cairn-breathe 6s ease-in-out infinite}@keyframes cairn-breathe{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(1deg)}}.strip{background:var(--euc-deep);color:var(--parchment)}.strip__list{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 34px;list-style:none;margin:0;padding-block:20px;padding-inline:22px}.strip__item{display:inline-flex;align-items:center;gap:.55em;font-weight:700;font-size:.92rem;letter-spacing:.02em}.leaf{width:15px;height:auto;flex:0 0 auto}.strip .leaf path[fill]{fill:var(--leaf)}.strip .leaf path[stroke]{stroke:var(--euc-deep)}.about__inner{display:grid;gap:40px;align-items:center}.about__text p{color:var(--ink-soft)}.about__text .h2{margin-bottom:.7em}.about__media{display:grid;grid-template-columns:1fr 1fr;gap:14px}.about__img{border-radius:var(--r);box-shadow:var(--sh);width:100%;height:100%;object-fit:cover;aspect-ratio:3 / 4}.about__img--a{margin-top:26px}.about__img--b{margin-bottom:26px}.services{background:linear-gradient(180deg,var(--stone) 0%,var(--parchment) 100%)}.section-head{max-width:40rem;margin-bottom:clamp(28px,5vw,46px)}.section-head__sub{color:var(--ink-soft);margin-top:.8em}.services__grid{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:1fr}.svc-card{position:relative;background:#fff;border:1px solid rgba(158,144,122,.28);border-radius:var(--r);padding:30px 26px 26px;overflow:hidden}.svc-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--eucalyptus),var(--clay))}.svc-card__leaf{width:18px;height:auto;margin-bottom:.5em}.svc-card__title{font-size:1.4rem;color:var(--euc-deep);margin:0 0 .5em}.svc-card__text{color:var(--ink-soft);font-size:.98rem;margin:0}.cta-band{background:radial-gradient(90% 120% at 100% 0%,rgba(178,124,87,.22),transparent 60%),linear-gradient(120deg,var(--eucalyptus),var(--euc-deep));color:var(--parchment)}.cta-band__inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;padding-block:clamp(44px,7vw,68px)}.cairn--band{width:52px;height:auto}.cta-band__kicker{font-weight:700;letter-spacing:.04em;color:#f4ede1d1;margin:0 0 .2em}.cta-band__title{font-size:clamp(1.7rem,5vw,2.5rem);margin:0}.gallery{background:var(--parchment)}.gallery__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;grid-auto-flow:dense}.gallery__item{margin:0;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}.gallery__item img{width:100%;height:100%;object-fit:cover;aspect-ratio:1 / 1;transition:transform .5s ease}.gallery__item:hover img{transform:scale(1.05)}.gallery__item--tall{grid-row:span 2}.gallery__item--tall img{aspect-ratio:3 / 4}.gallery__item--wide{grid-column:span 2}.gallery__item--wide img{aspect-ratio:16 / 9}.reviews{background:linear-gradient(180deg,var(--parchment) 0%,var(--stone) 100%)}.reviews__head{margin-bottom:clamp(26px,5vw,44px)}.reviews__score{display:flex;align-items:baseline;gap:.4em;flex-wrap:wrap}.reviews__stars{color:#d9a648;font-size:1.3rem;letter-spacing:.06em}.reviews__num{font-family:var(--font-display);font-weight:600;font-size:2.3rem;color:var(--euc-deep)}.reviews__meta{color:var(--ink-soft);font-weight:600}.reviews__grid{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:1fr}.review-card{position:relative;background:var(--parchment);border:1px solid rgba(158,144,122,.3);border-radius:var(--r);padding:30px 26px 24px;box-shadow:0 12px 30px -24px #2a262180}.review-card__mark{font-family:var(--font-display);font-size:3.6rem;line-height:.4;color:var(--leaf);opacity:.55;display:block;height:.5em}.review-card__quote{font-family:var(--font-display);font-style:italic;font-size:1.14rem;line-height:1.55;color:var(--charcoal);margin:0 0 1.1em}.review-card__by{display:flex;flex-direction:column;gap:2px}.review-card__author{font-weight:800;color:var(--euc-deep)}.review-card__when{font-size:.85rem;color:var(--taupe);font-weight:600}.reviews__cta{margin-top:28px}.visit{background:var(--stone)}.visit__inner{display:grid;gap:34px;align-items:start}.visit__addr{font-size:1.1rem;font-weight:700;color:var(--euc-deep);margin-bottom:.9em}.visit__note{color:var(--ink-soft);margin-bottom:.9em}.visit__facade{margin:0 0 1.6em;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}.visit__facade img{width:100%;height:auto}.visit__sub{font-size:1.35rem;color:var(--euc-deep);margin-bottom:.6em}.hours{width:100%;border-collapse:collapse;margin-bottom:1.6em}.hours th,.hours td{text-align:left;padding:.7em 0;border-bottom:1px solid rgba(158,144,122,.4)}.hours th{font-weight:700;color:var(--charcoal)}.hours td{text-align:right;color:var(--ink-soft);font-weight:600;font-variant-numeric:tabular-nums}.visit__actions{display:flex;flex-wrap:wrap;gap:12px}.visit__map{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);border:5px solid #fff;min-height:320px}.visit__map iframe{width:100%;height:100%;min-height:320px;border:0;display:block}.foot{background:radial-gradient(90% 80% at 10% 0%,rgba(94,113,87,.22),transparent 60%),linear-gradient(160deg,#33402d,#262f22);color:var(--parchment);padding-block:clamp(56px,9vw,96px) 96px;text-align:center}.foot__inner{display:flex;flex-direction:column;align-items:center}.cairn--foot{width:58px;height:auto;margin-bottom:22px}.foot__title{font-size:clamp(2rem,6vw,3.1rem);color:#f6f0e4;margin-bottom:.4em}.foot__lead{color:#f4ede1d1;max-width:30rem;margin-bottom:1.8em}.foot__meta{margin-top:46px;padding-top:26px;border-top:1px solid rgba(244,237,225,.16);width:100%;max-width:30rem}.foot__name{font-family:var(--font-display);font-size:1.25rem;margin-bottom:.2em;color:#f6f0e4}.foot__addr{font-size:.92rem;color:#f4ede1b8;margin-bottom:.5em}.foot__tel{color:var(--leaf);font-weight:800;text-decoration:none;font-size:1.1rem}.foot__tel:hover{text-decoration:underline}.foot__tel:focus-visible{outline:3px solid var(--leaf);outline-offset:3px;border-radius:4px}.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.js .reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}.cairn--float{animation:none}.gallery__item img{transition:none}}@media(min-width:720px){.services__grid{grid-template-columns:1fr 1fr}.reviews__grid,.gallery__grid{grid-template-columns:repeat(3,1fr)}.gallery__item--wide{grid-column:span 3}.gallery__item--wide img{aspect-ratio:21 / 8}}@media(min-width:900px){.hero__inner{grid-template-columns:1.15fr .85fr;gap:48px}.hero__copy{justify-self:start}.cairn--float{width:82px;bottom:-30px;left:-26px}.about__inner{grid-template-columns:1.05fr .95fr;gap:56px}.cta-band__inner{flex-direction:row;justify-content:center;text-align:left;gap:30px}.cta-band__inner .cta-band__copy{flex:1}.visit__inner{grid-template-columns:1fr 1fr;gap:44px}.visit__map{min-height:100%}}
