@font-face{font-family:'Josefin Sans';src:url('../fonts/josefin-sans-latin.woff2') format('woff2');font-weight:100 700;font-display:swap}@font-face{font-family:'Public Sans';src:url('../fonts/public-sans-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:'Public Sans';src:url('../fonts/public-sans-italic-latin.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}:root{--bg:#14110d;--bg-2:#1b1712;--card:#231e17;--line:rgba(209, 167, 80, 0.22);--line-strong:rgba(209, 167, 80, 0.5);--gold:#d1a750;--gold-hi:#e8c77d;--text:#f3efe7;--muted:#bfb6a6;--display:'Josefin Sans','Century Gothic','Avenir Next',sans-serif;--body:'Public Sans','Segoe UI','Helvetica Neue',Arial,sans-serif;--wrap:1200px;--gutter:clamp(16px, 4vw, 40px);--radius:6px;--ease:cubic-bezier(0.16, 1, 0.3, 1);color-scheme:dark}*,::after,::before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px;scrollbar-color:var(--gold) var(--bg)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--text);font:400 1.0625rem/1.6 var(--body);-webkit-font-smoothing:antialiased;caret-color:var(--gold)}::selection{background:var(--gold);color:var(--bg)}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:0.2em}:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--gold);color:var(--bg);padding:10px 16px;font-weight:700;text-decoration:none}.skip:focus{top:12px}.center{text-align:center}.center>p{margin:12px auto 0;max-width:56ch;color:var(--muted)}.h2{margin:0;font:700 clamp(2rem, 4.2vw, 3.2rem)/1.05 var(--display);text-transform:uppercase;letter-spacing:.01em;text-wrap:balance}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 24px;border-radius:var(--radius);border:1px solid transparent;font:700 0.95rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s var(--ease)}.btn:hover{transform:translateY(-1px)}.btn--gold{background:var(--gold);color:#17130d}.btn--gold:hover{background:var(--gold-hi)}.btn--line{border-color:var(--gold);color:var(--text)}.btn--line:hover{background:rgba(209,167,80,.12)}.btn--wide{width:100%;margin-top:16px}.btn:disabled{opacity:.6;cursor:progress;transform:none}.nav{position:sticky;top:0;z-index:40;background:rgba(12,10,8,.96);border-bottom:1px solid transparent;transition:border-color .3s}.nav.is-scrolled{border-bottom-color:var(--line)}.nav__in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px}.nav__logo{width:clamp(170px,18vw,230px);flex:none}.nav__menu{display:flex;align-items:center;gap:clamp(14px,2vw,28px)}.nav__menu>a:not(.btn){text-decoration:none;font:600 0.98rem/1 var(--body);color:var(--text);padding:6px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.nav__menu>a.is-current,.nav__menu>a:not(.btn):hover{color:var(--gold-hi);border-bottom-color:var(--gold)}.nav__phone{display:inline-flex;align-items:center;gap:8px;font:700 1rem/1 var(--body);font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}.info svg,.nav__phone svg{width:20px;height:20px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;flex:none}.nav__cta{padding:13px 18px}.nav__toggle{display:none;width:46px;height:46px;background:0 0;border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;position:relative}.nav__toggle span,.nav__toggle span::after,.nav__toggle span::before{position:absolute;left:13px;width:18px;height:2px;background:var(--gold);transition:transform .25s var(--ease),background-color .2s}.nav__toggle span{top:22px}.nav__toggle span::after,.nav__toggle span::before{content:'';left:0}.nav__toggle span::before{top:-6px}.nav__toggle span::after{top:6px}.nav__toggle[aria-expanded=true] span{background:0 0}.nav__toggle[aria-expanded=true] span::before{transform:translateY(6px) rotate(45deg)}.nav__toggle[aria-expanded=true] span::after{transform:translateY(-6px) rotate(-45deg)}.hero{position:relative;isolation:isolate;overflow:hidden}.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;z-index:-2;filter:brightness(.5) saturate(.9)}.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,10,8,.7) 0,rgba(12,10,8,.45) 50%,rgba(12,10,8,0) 100%)}.hero__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);gap:clamp(32px,5vw,72px);align-items:center;padding-block:clamp(56px,8vw,112px)}.hero__logo{width:min(100%,520px)}.hero h1{margin:28px 0 0;max-width:30ch;font:700 clamp(1.15rem, 1.7vw, 1.45rem)/1.25 var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--text);text-wrap:balance}.hero__copy>p{margin:14px 0 0;max-width:48ch;color:#e6e0d5;font-size:1.125rem}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.hero__phone{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:30px 0 0}.hero__phone>span:first-child{font:700 0.85rem/1 var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.phone{font:800 clamp(1.9rem, 3.6vw, 2.8rem)/1 var(--body);font-variant-numeric:tabular-nums;color:var(--gold-hi);letter-spacing:-.01em}.quote{background:var(--bg-2);border:1px solid var(--line-strong);border-radius:10px;padding:clamp(20px,2.6vw,30px);box-shadow:0 24px 60px -20px rgba(0,0,0,.7)}.quote--hero{background:rgba(23,19,14,.94)}.quote__title{margin:0;font:700 1.5rem/1.05 var(--display);text-transform:uppercase;letter-spacing:.03em}.quote__sub{margin:6px 0 0;color:var(--muted);font-size:.95rem}.quote__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.field{display:grid;gap:5px;min-width:0}.field--wide{grid-column:1/-1}.field>span{font:600 0.8rem/1.2 var(--body);color:var(--muted)}.field em{font-style:normal;font-weight:400}.field input,.field select,.field textarea{width:100%;font:400 1rem/1.4 var(--body);color:var(--text);background:#2a241c;border:1px solid rgba(243,239,231,.18);border-radius:var(--radius);padding:11px 12px;appearance:none}.field select{background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:32px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}.field [aria-invalid=true]{border-color:#e0786b}.field ::placeholder{color:#9a9182}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.quote__status{margin:10px 0 0;min-height:1.4em;font-size:.95rem}.quote__status.is-ok{color:#9fd39a;font-weight:600}.quote__status.is-error{color:#f0998e;font-weight:600}.values{background:var(--bg-2);border-block:1px solid var(--line)}.values__in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.value{padding:30px 20px;text-align:center}.value+.value{border-left:1px solid var(--line)}.value svg{width:34px;height:34px;margin:0 auto 12px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.value h3{margin:0;font:700 1rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.08em}.value p{margin:6px 0 0;color:var(--muted);font-size:.95rem}.about{padding-block:clamp(64px,9vw,120px)}.about__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}.about__copy p{margin:18px 0 0;color:var(--muted);max-width:56ch}.about__copy a:not(.btn){color:var(--gold-hi)}.about__copy .btn{margin-top:28px}.about__photo{margin:0;border-radius:10px;overflow:hidden}.about__photo img{width:100%;aspect-ratio:4/3;object-fit:cover}.services{padding-block:clamp(64px,9vw,120px);background:var(--bg-2)}.tiles{list-style:none;margin:clamp(32px,5vw,56px) 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.tile{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:transform .35s var(--ease),border-color .25s,box-shadow .35s var(--ease)}.tile:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 18px 40px -18px rgba(0,0,0,.8)}.tile img{width:100%;aspect-ratio:4/3;object-fit:cover}.tile h3{margin:16px 16px 0;font:700 1.05rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.05em}.tile p{margin:6px 16px 18px;color:var(--muted);font-size:.93rem;line-height:1.5}.tile--wide{grid-column:1/-1;display:grid;grid-template-columns:calc((100% - 54px)/ 4) minmax(0,1fr);align-items:center;gap:0 8px}.tile--wide img{height:100%}.tile--wide p{max-width:52ch}.gallery{padding-block:clamp(64px,9vw,120px)}.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;margin:28px 0 32px}.filters button{background:0 0;border:0;border-bottom:2px solid transparent;color:var(--text);font:700 0.9rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;padding:10px 2px;cursor:pointer;transition:color .2s,border-color .2s}.filters button:hover{color:var(--gold-hi)}.filters button[aria-pressed=true]{color:var(--gold-hi);border-bottom-color:var(--gold)}.shots{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(180px,20vw,260px);grid-auto-flow:dense;gap:12px}.shots li{border-radius:8px;overflow:hidden;transition:opacity .3s}.shots li[hidden]{display:none!important}.shots .shot--tall{grid-row:span 2}.shots .shot--wide{grid-column:span 2}.shots img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.shots li:hover img{transform:scale(1.04)}.sister{padding-block:clamp(56px,7vw,96px);background:var(--bg-2);border-block:1px solid var(--line)}.sister__in{text-align:center}.sister p{margin:16px auto 28px;max-width:60ch;color:var(--muted)}.areas{padding-block:clamp(64px,9vw,120px)}.town{border:1px solid var(--line);border-radius:8px;padding:18px 20px;background:var(--bg-2)}.town h3{margin:0;font:700 1.15rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.05em}.town p{margin:6px 0 0;color:var(--muted);font-size:.93rem;line-height:1.5}.town--main{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:36px;border-color:var(--line-strong)}.town__tag{background:var(--gold);color:#17130d;font:700 0.75rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;padding:7px 10px;border-radius:4px}.towns{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.contact{padding-block:clamp(64px,9vw,120px);background:var(--bg-2);border-top:1px solid var(--line)}.contact__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:clamp(32px,6vw,88px);align-items:start}.contact__info>p{margin:14px 0 0;color:var(--muted)}.info{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:22px}.info li{display:flex;gap:16px;align-items:flex-start}.info svg{width:24px;height:24px;margin-top:2px}.info h3{margin:0;font:700 1rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.08em}.info p{margin:4px 0 0;color:var(--muted);overflow-wrap:anywhere}.foot{background:#0c0a08;border-top:1px solid var(--line);padding-top:56px;color:var(--muted);font-size:.95rem}.foot__grid{display:grid;grid-template-columns:1.3fr 0.8fr 1.6fr 1.2fr;gap:32px}.foot__logo{width:200px}.foot p{margin:14px 0 0;max-width:32ch}.foot h3{margin:0 0 14px;font:700 0.95rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.foot ul a{text-decoration:none;color:var(--text)}.foot ul a:hover{color:var(--gold-hi)}.foot__cols{grid-template-columns:1fr 1fr;column-gap:20px}.foot li{overflow-wrap:anywhere}.foot__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:44px;padding-block:20px 28px;border-top:1px solid var(--line)}.foot__base p{margin:0;max-width:none}.foot__base a{color:var(--text)}@media (max-width:1100px){.nav__toggle{display:block}.nav__menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gutter) 22px;background:#0c0a08;border-bottom:1px solid var(--line);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .25s var(--ease),visibility 0s .25s}.nav__menu.is-open{visibility:visible;opacity:1;transform:none;transition:opacity .2s,transform .25s var(--ease)}.nav__menu>a:not(.btn){padding:15px 0;border-bottom:1px solid var(--line)}.nav__phone{padding:16px 0 6px}.nav__cta{margin-top:12px}.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.tile--wide{grid-template-columns:calc((100% - 36px)/ 3) minmax(0,1fr)}}@media (max-width:900px){.about__in,.contact__in,.hero__in{grid-template-columns:minmax(0,1fr)}.hero::before{background:linear-gradient(180deg,rgba(12,10,8,.86) 0,rgba(12,10,8,.9) 100%)}.values__in{grid-template-columns:repeat(2,minmax(0,1fr))}.value:nth-child(3){border-left:0}.value:nth-child(n+3){border-top:1px solid var(--line)}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tile--wide{grid-template-columns:calc((100% - 18px)/ 2) minmax(0,1fr)}.towns{grid-template-columns:repeat(2,minmax(0,1fr))}.foot__grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){body{font-size:1rem}.nav__in{min-height:68px}.quote__grid{grid-template-columns:minmax(0,1fr)}.tiles{gap:12px}.tile--wide{grid-template-columns:calc((100% - 12px)/ 2) minmax(0,1fr)}.tile h3{margin:12px 12px 0;font-size:.95rem}.tile p{margin:4px 12px 14px;font-size:.88rem}.shots{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px}.shots .shot--wide{grid-column:span 2}.towns{grid-template-columns:minmax(0,1fr)}.town--main{flex-wrap:wrap}.foot__grid{grid-template-columns:minmax(0,1fr)}.hero__actions .btn{flex:1 1 auto}}@media (prefers-reduced-motion:reduce){.btn,.shots img,.tile{transition:none}}.tbc{font:400 0.8rem/1 var(--body);color:var(--muted);text-transform:none;letter-spacing:0}