:root{--ink:#181817;--gold:#bf9b30;--cream:#f8f5ef;--muted:#ebe9e4;--line:#d8d5ce}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fdfcf9;color:var(--ink);font-family:Outfit,system-ui,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1200px)/2));background:#fdfcf9f0;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;flex-direction:column;font-weight:800;line-height:.95;letter-spacing:-.04em;font-size:21px}.brand span{color:var(--gold)}.brand small{font-size:10px;letter-spacing:.16em;margin-top:6px}.site-header nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:600}.nav-cta{background:var(--ink);color:#fff;padding:12px 20px;border-radius:4px}.menu{display:none;background:none;border:0}.hero{max-width:1200px;margin:auto;min-height:680px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding:64px 24px 76px}.eyebrow{font:600 12px/1 IBM Plex Mono,monospace;letter-spacing:.13em;color:#756220}.hero h1,.section h2,.statement h2,.contact h2{font-size:clamp(52px,6.3vw,86px);line-height:.96;letter-spacing:-.055em;margin:22px 0;font-weight:700}.hero h1 em,.statement h2 em{font-style:normal;color:var(--gold)}.intro{font-size:19px;line-height:1.65;max-width:550px;color:#55544f}.actions{display:flex;align-items:center;gap:28px;margin:34px 0}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;padding:16px 20px;border-radius:4px;font-weight:700;min-width:215px}.primary{background:var(--ink);color:#fff}.gold{background:var(--gold);color:var(--ink)}.text-link{font-size:14px;font-weight:600;border-bottom:1px solid}.trust{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:24px;margin-top:46px}.trust span,.stars{color:var(--gold);letter-spacing:3px}.trust p{font-size:12px;line-height:1.55}.hero-image{position:relative}.hero-image img{height:590px;object-fit:cover;filter:saturate(.75);border-radius:6px}.hero-image>p{position:absolute;left:-26px;bottom:28px;background:var(--gold);padding:18px 22px;font-size:13px;line-height:1.5}.values{background:var(--ink);color:#fff;display:grid;grid-template-columns:repeat(3,1fr);padding:0 max(24px,calc((100vw - 1200px)/2))}.values article{padding:48px 42px;border-right:1px solid #3c3b38}.values article:first-child{border-left:1px solid #3c3b38}.values b{font:600 12px IBM Plex Mono;color:var(--gold)}.values h3{font-size:23px;margin:24px 0 12px}.values p{color:#aaa9a4;line-height:1.6;margin:0}.section{max-width:1200px;margin:auto;padding:110px 24px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-head h2{font-size:55px;margin:14px 0 0}.section-head>p{max-width:410px;color:#65635e;font-size:17px;line-height:1.55}.services{background:#fdfcf9}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.service-card{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}.media{position:relative}.media img{height:255px;object-fit:cover;filter:saturate(.75)}.media span{position:absolute;top:16px;left:16px;background:var(--ink);color:#fff;font:600 11px IBM Plex Mono;padding:8px}.card-body{padding:28px}.card-body h3{font-size:25px;line-height:1.15;margin:0 0 20px}.spec{display:flex;justify-content:space-between;border-block:1px solid var(--line);padding:13px 0;font:600 11px IBM Plex Mono;color:#62551f}.card-body>p{color:#66635d;line-height:1.55}.card-body ul{list-style:none;padding:0;font-size:14px;line-height:2}.card-body li:before{content:"✓";color:var(--gold);font-weight:700;margin-right:10px}.service-note{font-size:13px;font-style:italic;color:#77736b;border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.card-body>a{display:inline-block;font-weight:700;font-size:14px;margin-top:12px;border-bottom:1px solid}.about{padding-top:120px;background:#f8f5ef;box-shadow:0 0 0 100vmax #f8f5ef;clip-path:inset(0 -100vmax)}.about-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end;margin-bottom:72px}.about-intro h2{font-size:64px;margin:16px 0 0}.about-intro h2 em{font-style:normal;color:var(--gold)}.about-intro>p{font-size:20px;line-height:1.65;color:#5f5d58;margin:0}.about-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:start}.about-image{position:sticky;top:112px}.about-image img{height:610px;object-fit:cover;object-position:center;filter:saturate(.7);border-radius:6px}.about-image span{position:absolute;right:-22px;bottom:25px;background:var(--gold);padding:17px 20px;font:600 11px/1.5 IBM Plex Mono;letter-spacing:.08em}.story-copy{padding-top:20px}.story-copy h3{font-size:43px;letter-spacing:-.035em;margin:16px 0 28px}.story-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;color:#5f5d58;margin:0 0 24px}.story-copy>p:last-child{color:var(--ink);font-weight:500;border-left:3px solid var(--gold);padding-left:22px}.statement{background:#e9e1cf;text-align:center;padding:110px 24px}.statement h2{font-size:70px}.statement>p:not(.eyebrow){max-width:650px;margin:30px auto;color:#62605b;font-size:18px;line-height:1.65}.statement>div{display:flex;justify-content:center;gap:70px;margin-top:55px}.statement span{font:500 11px IBM Plex Mono;display:flex;flex-direction:column;gap:8px}.statement span b{font:700 28px Outfit;color:var(--gold)}.reviews{background:#f1efe9;box-shadow:0 0 0 100vmax #f1efe9;clip-path:inset(0 -100vmax)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.review-grid blockquote{margin:0;background:var(--muted);padding:34px;border-radius:6px}.review-grid blockquote>p{font-size:18px;line-height:1.6;min-height:145px}.review-grid footer{display:flex;align-items:center;gap:12px}.review-grid footer>span{width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--gold);display:grid;place-items:center;font-weight:700}.review-grid footer div{display:flex;flex-direction:column}.review-grid small{color:#706e68}.contact{background:var(--ink);color:#fff;padding:100px max(24px,calc((100vw - 1200px)/2));display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,520px);align-items:start;gap:72px}.contact h2{font-size:56px;max-width:620px;margin-bottom:24px}.contact-intro{color:#aaa9a4;font-size:18px;line-height:1.65;max-width:560px}.contact-copy{max-width:620px}.contact-image{height:280px;object-fit:cover;object-position:center 46%;border-radius:6px;margin-top:34px;filter:saturate(.78)}.direct-contact{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:34px;color:#c4c1ba}.direct-contact a{border-bottom:1px solid #555}.booking-form{width:min(100%,520px);background:#f8f5ef;color:var(--ink);padding:34px;border-radius:6px}.booking-form label{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;font:600 11px IBM Plex Mono;letter-spacing:.06em}.booking-form label>span{font-weight:500;color:#77736b}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid #cbc6bb;border-radius:4px;background:#fff;color:var(--ink);font:400 16px Outfit;padding:13px 14px;outline:none}.booking-form textarea{resize:vertical;min-height:110px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #bf9b3024}.booking-form button{border:0;width:100%;cursor:pointer;font-family:Outfit;font-size:15px}.booking-form button:disabled{opacity:.65;cursor:wait}.form-status{display:none;margin:16px 0 0;padding:16px 18px;border-radius:4px;font-size:14px;line-height:1.5}.form-status.success,.form-status.error{display:flex;flex-direction:column;gap:4px}.form-status strong{font-size:16px}.form-status.success{color:#245b2c;background:#e3f2e5;border:1px solid #82b98a}.form-status.error{color:#8b2020;background:#f9e4e2;border:1px solid #d99a94}.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:18px;font-size:13px}.contact-actions>a:last-child{color:#c4c1ba;border-bottom:1px solid #555;padding-bottom:6px}.footer{padding:60px max(24px,calc((100vw - 1200px)/2)) 28px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;align-items:start;font-size:13px}.footer>div:nth-of-type(2){display:flex;flex-direction:column;gap:10px}.footer>small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:24px;color:#797772}.primary,.nav-cta,.gold{transition:transform .2s,background .2s}.primary:hover,.nav-cta:hover,.gold:hover{transform:translateY(-2px)}@media(max-width:800px){.booking-form{margin-top:40px;padding:24px}.form-row{grid-template-columns:1fr}.about{padding-top:80px}.about-intro,.about-story{grid-template-columns:1fr;gap:34px}.about-intro{margin-bottom:52px}.about-intro h2{font-size:44px}.about-intro>p{font-size:18px}.about-image{position:relative;top:auto}.about-image img{height:430px}.about-image span{right:12px}.story-copy h3{font-size:36px}.site-header{height:72px;padding:0 18px}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fdfcf9;padding:24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.menu{display:flex;width:30px;height:24px;padding:2px;flex-direction:column;justify-content:space-around}.menu i{height:2px;width:100%;background:var(--ink)}.hero{grid-template-columns:1fr;padding:62px 18px 50px;gap:38px}.hero h1{font-size:48px}.hero-image{order:-1}.hero-image img{height:370px}.hero-image>p{left:14px;bottom:-18px}.trust{margin-top:32px}.values{grid-template-columns:1fr;padding:0 18px}.values article,.values article:first-child{padding:32px 10px;border-left:0;border-right:0;border-bottom:1px solid #3c3b38}.section{padding:80px 18px}.section-head{display:block}.section-head h2{font-size:42px}.section-head>p{margin-top:22px}.service-grid,.review-grid{grid-template-columns:1fr}.statement{padding:80px 18px}.statement h2{font-size:44px}.statement>div{gap:32px;flex-wrap:wrap}.contact{padding:72px 18px;display:block}.contact h2{font-size:45px}.contact-actions{margin-top:36px}.footer{grid-template-columns:1fr;padding:50px 18px 24px}.actions{align-items:flex-start;flex-direction:column}.review-grid blockquote>p{min-height:0}}
