@font-face{font-family:Barlow;src:url('assets/barlow-condensed.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--paper:#f3f0e8;--ink:#242621;--muted:#67685e;--line:#d6d4c8;--accent:#85482c;--light:#c19b73;--dark:#20231e;--heading:Barlow,'Arial Narrow',Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}::selection{background:var(--accent);color:white}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.skip-link{position:fixed;top:-100px;left:20px;z-index:10;background:var(--paper);padding:16px}.skip-link:focus{top:10px}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:43px;height:43px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:27px}.brand-name{font-family:var(--heading);font-size:30px;letter-spacing:2px;line-height:1}.brand-subtitle{display:block;font-size:9px;letter-spacing:2.8px;margin-top:7px}.desktop-nav{display:flex;gap:32px;align-items:center;font-size:13px}.desktop-nav a:not(.button):hover{color:var(--accent)}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:17px 22px;background:var(--ink);color:var(--paper);font-size:12px;font-weight:700;min-height:50px;transition:background .2s}.button:hover{background:var(--accent)}.button .arrow{font-size:20px;font-weight:400}.button-outline{background:transparent;color:var(--ink);border:1px solid var(--line)}.button-outline:hover{background:var(--ink);color:var(--paper)}.menu-toggle{display:none}.eyebrow{text-transform:uppercase;letter-spacing:2.6px;font-size:10px;font-weight:700;line-height:1.6;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:24px;height:1px;background:currentColor}.hero{display:grid;grid-template-columns:1.02fr 1fr;min-height:660px;padding-top:48px;padding-bottom:48px;gap:50px}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:12px 0}.hero h1{font-family:var(--heading);font-size:clamp(64px,7.6vw,112px);line-height:.94;letter-spacing:-1px;text-transform:uppercase;margin:29px 0 25px;font-weight:700}.hero h1 span{color:var(--accent)}.intro{max-width:365px;font-size:14px;color:var(--muted);line-height:1.9}.hero-actions{display:flex;gap:12px;margin-top:23px;flex-wrap:wrap}.hero-foot{display:flex;align-items:center;gap:14px;margin-top:42px;color:var(--muted);font-size:10px;letter-spacing:1.4px;text-transform:uppercase}.hero-foot i{width:4px;height:4px;background:var(--accent);border-radius:50%}.hero-visual{position:relative;min-width:0;overflow:hidden;background:#393b33}.hero-visual img{position:absolute;inset:0;filter:none;object-position:center}.hero-visual:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.7));pointer-events:none}.photo-caption{position:absolute;bottom:28px;left:28px;right:28px;color:white;z-index:1;display:flex;justify-content:space-between;align-items:end}.photo-caption span{font-size:9px;letter-spacing:2px;text-transform:uppercase}.photo-caption p{font-family:var(--heading);font-size:29px;letter-spacing:.5px;margin:7px 0 0}.photo-caption .star{font-size:50px;line-height:1}.hero-tag{position:absolute;top:22px;left:22px;z-index:1;background:var(--paper);padding:9px 12px;font-size:9px;font-weight:700;letter-spacing:1.5px}.ticker{background:var(--dark);color:var(--paper);padding:23px 0}.ticker-inner{display:flex;align-items:center;justify-content:space-between;gap:15px;font-family:var(--heading);font-size:21px;letter-spacing:1.5px;text-transform:uppercase}.ticker b{font-size:22px;color:var(--light);font-weight:400}.section{padding:100px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin:20px 0 42px}h2{font-family:var(--heading);font-size:clamp(42px,5vw,64px);line-height:1;letter-spacing:-.6px;text-transform:uppercase;margin:0;font-weight:700}.section-heading>p{max-width:340px;font-size:13px;line-height:1.9;color:var(--muted);margin:0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service-image{height:300px;overflow:hidden;position:relative;background:#dcd7cd}.service-image img{transition:transform .5s;filter:saturate(.6)}.service-card:hover img{transform:scale(1.035)}.service-number{position:absolute;left:17px;top:17px;color:#fff;font-size:10px;letter-spacing:2px;background:#242621b3;padding:8px 10px}.service-title{display:flex;justify-content:space-between;gap:15px;align-items:baseline;border-bottom:1px solid var(--line);padding:23px 0 17px}.service-title h3{font-family:var(--heading);font-size:29px;text-transform:uppercase;font-weight:700;margin:0}.price{font-family:var(--heading);font-size:29px;white-space:nowrap;color:var(--accent)}.service-card>p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:0}.price-note{font-size:12px;color:var(--muted);margin-top:28px;line-height:1.8}.philosophy{background:#e7e4da;padding:76px 0}.philosophy-inner{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center}.philosophy h2{margin-top:20px}.philosophy-copy>p{font-size:17px;line-height:1.8;max-width:565px}.values{display:flex;gap:40px;margin-top:30px;border-top:1px solid #c9c7bb;padding-top:25px}.values span{font-size:10px;letter-spacing:1.4px;text-transform:uppercase}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:20px}.gallery-grid figure{margin:0;height:360px;overflow:hidden}.gallery-grid img{filter:saturate(.55)}.contact{background:var(--dark);color:var(--paper);padding:76px 0}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.contact h2{font-size:clamp(48px,5.5vw,76px);margin:23px 0}.contact-copy>p{color:#b9baae;line-height:1.8;font-size:14px;max-width:340px}.contact-links{border-top:1px solid #4b4c43}.contact-link{padding:25px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #4b4c43}.contact-link small{display:block;text-transform:uppercase;font-size:9px;letter-spacing:2px;color:#b9baae;margin-bottom:12px}.contact-link strong{font-size:clamp(14px,1.8vw,23px);font-weight:400;overflow-wrap:anywhere}.contact-link>span{font-size:28px;color:var(--light)}.contact-link:hover strong{text-decoration:underline;text-underline-offset:5px}.footer{padding:32px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer .brand-name{font-size:23px}.footer p,.footer>a{font-size:11px;color:var(--muted)}.back-top{font-size:11px;display:flex;gap:15px;align-items:center;min-height:44px}.draft-price{font-family:Arial,sans-serif;font-size:11px;white-space:normal}.preview-note{border-top:1px solid var(--line);padding-top:16px}.empty-photo{display:grid;place-items:center;height:100%;color:var(--paper);font-family:var(--heading);font-size:50px;background:#393b33}
.footer-sponsor{display:flex;justify-content:center;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.sponsor-banner{background:var(--dark);color:var(--paper);border-bottom:1px solid #41453b}
.sponsor-banner-link{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding-block:12px}
.sponsor-banner-brand{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.sponsor-banner-brand>span{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#c8c9be}
.sponsor-banner-brand strong{font-size:23px;letter-spacing:-.7px}
.sponsor-banner-cta{display:flex;align-items:center;gap:14px;font-size:11px;color:var(--light)}
.sponsor-banner-cta>span{font-size:20px}
.sponsor-banner-link:hover .sponsor-banner-cta{text-decoration:underline;text-underline-offset:4px}
.sponsor-banner-link:focus-visible{outline-color:var(--light);outline-offset:-3px}
.desktop-nav .nav-sponsor{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-weight:700}
@media(max-width:850px) and (min-width:701px){.desktop-nav{gap:14px;font-size:12px}.desktop-nav .button{padding:14px}.header-inner{gap:16px}.header-inner .brand-name{font-size:26px}.header-inner .brand-subtitle{letter-spacing:1.8px}}
@media(max-width:700px){.sponsor-banner-link{gap:10px}.sponsor-banner-brand{gap:4px;flex-direction:column;align-items:flex-start}.sponsor-banner-brand>span{font-size:8px;letter-spacing:1px}.sponsor-banner-brand strong{font-size:21px}.sponsor-banner-cta{font-size:10px;gap:7px}}
.combo-service{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:32px;background:var(--dark);color:var(--paper)}
.combo-service .eyebrow{color:var(--light)}
.combo-service h3{font-family:var(--heading);font-size:38px;text-transform:uppercase;margin:14px 0 10px;line-height:1.1}
.combo-service p{font-size:14px;color:#d0d0c5;line-height:1.7;margin:0}
.combo-price{font-family:var(--heading);font-size:64px;white-space:nowrap;color:var(--light)}
.price-list{display:grid;grid-template-columns:1fr 1fr;column-gap:48px;margin-top:12px}
.price-item{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;border-bottom:1px solid var(--line)}
.price-item h3{font-family:var(--heading);font-size:27px;text-transform:uppercase;margin:0;line-height:1.2}
.price-item p{font-size:12px;color:var(--muted);line-height:1.6;margin:8px 0 0}
@media(max-width:700px){.price-list{grid-template-columns:1fr}.combo-service{padding:24px 20px;gap:16px}.combo-service h3{font-size:31px}.combo-service .eyebrow{font-size:9px;letter-spacing:1.2px}.combo-price{font-size:46px}.price-item h3{font-size:25px}.hero-foot{flex-wrap:wrap}}
.contact-location{padding:25px 0;border-bottom:1px solid #4b4c43}
.contact-label{display:block;text-transform:uppercase;font-size:9px;letter-spacing:2px;color:#b9baae;margin-bottom:12px}
.contact-location address{font-style:normal;font-size:clamp(17px,1.8vw,23px);line-height:1.6}
.directions-button{background:var(--paper);color:var(--ink);margin-top:20px}
.directions-button:hover{background:var(--light);color:var(--ink)}
.sponsor-link{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;min-height:44px;font-size:11px;color:var(--muted)}
.sponsor-link strong{font-size:17px;letter-spacing:-.4px;color:var(--ink)}
.sponsor-arrow{color:var(--accent);font-size:18px}
.sponsor-link:hover strong{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1600px){.hero{min-height:730px}.hero h1{font-size:118px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{gap:30px;min-height:580px}.hero h1{font-size:78px}.desktop-nav{gap:20px}.service-image{height:240px}.service-title h3,.price{font-size:24px}.philosophy-inner{gap:50px}.contact-inner{gap:45px}.gallery-grid figure{height:290px}.section{padding:76px 0}}
@media(max-width:700px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:82px;flex-wrap:wrap;gap:0}.brand-name{font-size:26px}.brand-mark{width:36px;height:36px;font-size:22px}.brand-subtitle{font-size:8px}.hero{grid-template-columns:1fr;padding:35px 0;gap:32px}.hero-copy{padding:0}.hero h1{font-size:clamp(66px,17vw,108px);margin:24px 0 18px}.hero .intro{max-width:100%;font-size:14px;margin:0}.hero-actions{margin-top:25px}.hero-foot{margin-top:24px;font-size:9px;gap:10px}.hero-visual{height:430px}.ticker{padding:19px 0}.ticker-inner{font-size:15px;letter-spacing:.7px;flex-wrap:wrap;justify-content:center;gap:13px}.ticker b{font-size:18px}.ticker .extra{display:none}.section{padding:62px 0}.section-heading{display:block;margin:20px 0 30px}.section-heading>p{margin-top:20px;max-width:100%}.services-grid{grid-template-columns:1fr;gap:35px}.service-image{height:340px}.service-title h3,.price{font-size:31px}.service-card>p{font-size:14px}.philosophy{padding:55px 0}.philosophy-inner{grid-template-columns:1fr;gap:22px}.philosophy-copy>p{font-size:15px;margin:0}.values{gap:22px;justify-content:space-between}.values span{font-size:9px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-grid figure{height:240px}.gallery-grid figure:first-child{grid-column:1/-1;height:300px}.contact{padding:58px 0}.contact-inner{grid-template-columns:1fr;gap:25px}.contact h2{font-size:60px}.contact-link strong{font-size:clamp(15px,4.6vw,22px)}.footer-inner{flex-wrap:wrap}.footer p{order:3;flex-basis:100%;margin:0;padding-top:12px;border-top:1px solid var(--line)}.draft-price{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Navigation: one vertical disclosure panel on mobile and small tablets. */
.nav-sponsor-label{display:none}
@media(max-width:820px){
  .header-inner{min-height:80px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 16px;padding-block:14px}
  .header-inner .brand{gap:10px}
  .header-inner .brand-name{font-size:26px}
  .header-inner .brand-subtitle{font-size:8px;letter-spacing:2px}
  .header-inner .brand-mark{width:36px;height:36px;flex-shrink:0;font-size:22px}
  .menu-toggle{display:none;align-items:center;justify-content:center;gap:10px;min-width:96px;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font-size:13px;cursor:pointer}
  .js .menu-toggle{display:inline-flex}
  .menu-toggle[aria-expanded="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .menu-icon{position:relative;width:18px;height:16px;flex-shrink:0}
  .menu-icon:before,.menu-icon:after{content:'';position:absolute;left:0;width:18px;height:1.5px;background:currentColor;transition:transform .18s,top .18s}
  .menu-icon:before{top:4px}.menu-icon:after{top:11px}
  [aria-expanded="true"] .menu-icon:before{top:7px;transform:rotate(45deg)}
  [aria-expanded="true"] .menu-icon:after{top:7px;transform:rotate(-45deg)}
  .desktop-nav,.js .desktop-nav.is-open{display:flex;grid-column:1/-1;flex-direction:column;align-items:stretch;width:100%;gap:0;padding:12px 0 2px;margin-top:14px;border-top:1px solid var(--line);font-size:16px}
  .js .desktop-nav{display:none}
  .desktop-nav>a{display:flex;align-items:center;justify-content:space-between;min-height:56px;width:100%;padding:14px 4px;border-bottom:1px solid var(--line)}
  .desktop-nav>a[href^="#"]:not(.button):after{content:'↗';color:var(--accent);font-size:20px}
  .desktop-nav .button{min-height:52px;margin-top:16px;padding:14px 18px;font-size:14px;border:0;border-radius:4px}
  .desktop-nav .nav-sponsor{margin-top:16px;padding:16px 4px 2px;border:0;font-size:17px}
  .nav-sponsor-label{display:block;margin-bottom:6px;font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:400;color:var(--muted)}
}
@media(max-width:700px){
  .sponsor-banner-link{min-height:54px;padding-block:9px}
  .hero{padding-top:28px}
  .hero-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;gap:10px}
  .hero-actions .button{gap:12px;padding:14px 12px;min-height:52px}
  .hero-actions .button-outline{min-width:92px}
}
@media(max-width:360px){
  .hero-actions{grid-template-columns:1fr}
  .hero-actions .button{justify-content:space-between;padding-inline:18px}
}
