@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#1c1c19;--muted:#6e6b63;--cream:#f3f0e9;--paper:#fbfaf7;--line:#d8d4ca;--dark:#20221f;--accent:#b49a72}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",Arial,sans-serif;line-height:1.55}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.site-header{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(251,250,247,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(0,0,0,.06)}.brand{display:flex;align-items:center;gap:11px;letter-spacing:.12em}.brand-mark{width:36px;height:36px;border:1px solid var(--ink);display:grid;place-items:center;font-size:11px;font-weight:600;letter-spacing:0}.brand-logo{width:112px;height:auto;display:block;object-fit:contain}.brand strong{display:block;font-size:14px;line-height:1}.brand small{display:block;font-size:9px;letter-spacing:.2em;margin-top:5px}.nav{display:flex;gap:34px;align-items:center;font-size:13px}.nav a{transition:.2s}.nav a:hover{opacity:.55}.nav-cta{border:1px solid var(--ink);padding:10px 17px}.menu{display:none;background:none;border:0;font-size:22px}.hero{min-height:calc(100vh - 78px);position:relative;display:flex;align-items:flex-end;overflow:hidden;color:white}.hero-image{position:absolute;inset:0;background-image:url("assets/curved-island.jpg");background-size:cover;background-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.16) 70%,rgba(0,0,0,.1))}.hero-content{position:relative;z-index:1;padding:9vw 7vw;max-width:800px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:600;margin:0 0 22px}.hero h1{font-size:clamp(50px,7vw,94px);line-height:.98;letter-spacing:-.045em;margin:0 0 28px;font-weight:500}.hero h1 em,.work-heading em,.services-head em,.process h2 em,.cta h2 em,.contact h2 em{font-family:"Playfair Display",serif;font-weight:500}.hero-copy{font-size:18px;max-width:520px;margin:0 0 34px;color:rgba(255,255,255,.9)}.hero-actions{display:flex;align-items:center;gap:25px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:15px 19px;font-size:12px;font-weight:600;letter-spacing:.06em;border:1px solid transparent;cursor:pointer}.button span{font-size:18px;line-height:0}.button-light{background:#fff;color:var(--ink)}.button-dark{background:var(--ink);color:white}.text-link{font-size:12px;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:4px}.hero-note{position:absolute;right:5vw;bottom:35px;z-index:1;font-size:10px;letter-spacing:.15em;text-transform:uppercase;opacity:.8}.section{padding:110px 7vw}.section-kicker{font-size:10px;letter-spacing:.18em;font-weight:600;color:var(--muted);margin-bottom:50px}.section-kicker.light{color:#aaa}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:12vw}.intro h2,.work-heading h2,.process h2,.contact h2{font-size:clamp(42px,5.5vw,72px);line-height:1.04;letter-spacing:-.04em;font-weight:500;margin:0}.intro h2 span{font-family:"Playfair Display",serif}.lead{font-size:20px;line-height:1.55;margin:0 0 20px}.intro-grid>div>p:not(.lead){color:var(--muted);max-width:570px}.arrow-link{display:inline-flex;gap:20px;margin-top:25px;border-bottom:1px solid var(--ink);padding-bottom:7px;font-size:12px;font-weight:600}.dark{background:var(--dark);color:#f4f1ea}.services-head{display:grid;grid-template-columns:1fr 1fr;gap:12vw;margin-bottom:75px}.services-head h2{font-size:clamp(46px,5.8vw,78px);line-height:1.02;font-weight:500;letter-spacing:-.04em;margin:0}.services-head p{color:#aaa;max-width:480px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #444}.service-grid article{padding:28px 25px 10px 0;border-right:1px solid #444;min-height:230px}.service-grid article+article{padding-left:25px}.service-grid span{font-size:10px;color:#aaa;letter-spacing:.1em}.service-grid h3{font-size:20px;font-weight:500;margin:48px 0 10px}.service-grid p{font-size:13px;color:#aaa;margin:0;max-width:240px}.work{background:#f8f7f3}.work-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:60px}.work-heading p{font-size:12px;color:var(--muted);max-width:220px}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:13px}.gallery-item{grid-column:span 4;margin:0;position:relative;overflow:hidden;background:#ddd;min-height:320px}.gallery-item.wide{grid-column:span 8}.gallery-item.tall{min-height:500px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item figcaption{position:absolute;left:15px;bottom:13px;background:rgba(255,255,255,.88);padding:7px 10px;font-size:10px;letter-spacing:.05em}.process{background:#eeece5}.process>h2{margin-bottom:70px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;border-top:1px solid #c9c5bb}.step{padding-top:22px}.step b{font-size:11px;color:var(--muted)}.step h3{font-size:18px;font-weight:500;margin:45px 0 12px}.step p{font-size:13px;color:var(--muted);max-width:240px}.cta{padding:90px 7vw;background:#c8b89e;display:flex;justify-content:space-between;align-items:flex-end}.cta h2{font-size:clamp(44px,5vw,70px);line-height:1.02;letter-spacing:-.04em;font-weight:500;margin:0}.contact{background:var(--paper)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12vw}.contact>div>p,.contact-grid>div>p{max-width:450px;color:var(--muted);margin:30px 0}.contact-details{margin-top:50px;display:grid;gap:20px}.contact-details small{display:block;font-size:9px;letter-spacing:.15em;color:var(--muted);margin-bottom:4px}.contact-details strong{font-size:14px;font-weight:500}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form label{font-size:10px;letter-spacing:.08em;font-weight:600}.quote-form label:last-of-type{grid-column:1/-1}.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #bdb9b0;background:transparent;padding:12px 0;font:inherit;font-size:14px;outline:none;border-radius:0}.quote-form textarea{resize:vertical}.quote-form button{margin-top:8px;width:max-content}.form-note{grid-column:1/-1;font-size:10px;color:var(--muted);margin:0}.footer{padding:35px 5vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.footer-brand{color:var(--ink)}@media(max-width:850px){.nav{display:none}.menu{display:block}.hero-content{padding:18vw 7vw}.hero-note{display:none}.intro-grid,.services-head,.contact-grid{grid-template-columns:1fr;gap:45px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article{border-bottom:1px solid #444}.work-heading{display:block}.work-heading p{margin-top:25px}.gallery-item,.gallery-item.wide{grid-column:span 6}.steps{grid-template-columns:1fr 1fr}.cta{display:block}.cta .button{margin-top:40px}.footer{display:block}.footer p{margin:15px 0 0}}@media(max-width:560px){.section{padding:75px 6vw}.hero{min-height:720px}.hero h1{font-size:52px}.hero-copy{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article{padding-left:0;border-right:0}.gallery{display:block}.gallery-item,.gallery-item.wide,.gallery-item.tall{min-height:300px;margin-bottom:12px}.steps{grid-template-columns:1fr}.quote-form{grid-template-columns:1fr}.quote-form label:last-of-type,.form-note{grid-column:auto}.quote-form button{width:100%}}
