@font-face{font-family:Editorial;src:url('assets/malibu-editorial.woff');font-display:swap}@font-face{font-family:Text;src:url('assets/malibu-text.woff');font-display:swap}:root{--paper:#faf8f2;--ink:#102b28;--green:#125244;--muted:#6c7974;--line:#d5dcd4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.5 Text,Arial,sans-serif}h1,h2,h3{font-family:Editorial,Georgia,serif;font-weight:400;line-height:1.06;letter-spacing:-.03em;margin:0 0 22px}h1{font-size:clamp(40px,5.6vw,78px)}h2{font-size:clamp(34px,4vw,56px)}h3{font-size:30px}p{margin:0 0 20px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b57348;outline-offset:4px}img{max-width:100%;display:block}button{color:inherit}input,textarea,select{background:transparent;border:1px solid var(--line);border-radius:14px;padding:13px 16px;color:var(--ink);width:100%}textarea{min-height:110px;resize:vertical}label{display:block;margin:20px 0 7px}input[aria-invalid=true]{border-color:#b72230}.error{color:#b72230;font-size:14px;margin:5px 0}.muted,small{color:var(--muted)}small{font-size:13px}.demo{background:#e7eee8;text-align:center;font-size:12px;padding:5px 14px}.skip{position:fixed;top:-100px;z-index:20;background:white;padding:12px}.skip:focus{top:0}header{display:flex;align-items:center;justify-content:space-between;padding:10px 5%;min-height:85px;border-bottom:1px solid var(--line);position:relative;background:var(--paper);z-index:5}.brand img{height:65px;width:auto}nav{display:flex;gap:35px;align-items:center;font-size:14px}.menu{display:none;border:0;background:none;font-size:28px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--green);color:white;padding:15px 26px;border:1px solid var(--green);border-radius:40px;min-height:52px;font-size:16px}.btn:hover{background:#1c6857}.btn.light{background:var(--paper);color:var(--green)}.btn.outline{background:transparent;color:var(--green);border-color:var(--line)}.textlink{border:0;background:none;padding:8px 0;text-decoration:underline;text-underline-offset:4px;color:var(--green)}.wrap{max-width:1280px;margin:auto;padding:64px 5%}.hero{min-height:590px;position:relative;background:url('assets/hero.jpg') center/cover;display:flex;align-items:center;padding:65px 6%}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,248,242,.9),rgba(250,248,242,.22) 55%,transparent)}.hero>div{position:relative;max-width:530px}.hero p{font-size:22px;max-width:360px}.hero a{display:inline-block;margin-top:30px}.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--green);margin-bottom:18px}.selection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0}.tile{position:relative;background:transparent;border:1px solid var(--line);text-align:left;padding:0;overflow:hidden;border-radius:4px}.tile img{aspect-ratio:1.35;object-fit:cover;width:100%}.tile>div{padding:14px}.tile b{font-weight:400;font-size:19px;display:block}.tile small{display:block;margin-top:5px}.tile .mark{position:absolute;right:12px;top:12px;border-radius:50%;background:var(--paper);width:30px;height:30px;text-align:center;font-size:22px;line-height:28px}.tile[aria-pressed=true]{outline:2px solid var(--green)}.tile[aria-pressed=true] .mark{background:var(--green);color:white}.center{text-align:center}.center .btn{min-width:260px}.center small{display:block;margin-top:12px}.services{display:grid;grid-template-columns:1fr 2fr;gap:55px;border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-grid img{width:100%;aspect-ratio:1.7;object-fit:cover}.service-grid h3{font-size:27px;margin:14px 0 7px}.service-grid span{font-size:15px}.ideas{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ideas img{width:100%;aspect-ratio:1.7;object-fit:cover}.ideas figcaption{text-align:center;font-family:Editorial,Georgia,serif;margin:8px 0}.ideas figure{margin:0}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:40px 0}.process h3{font-size:25px;margin-bottom:10px}.process p{font-size:15px;color:var(--muted)}.faq{display:grid;grid-template-columns:1fr 2fr;gap:55px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-family:Editorial,Georgia,serif;font-size:25px;list-style:none;display:flex;justify-content:space-between;gap:12px}summary:after{content:'+';font-family:Arial}details[open] summary:after{content:'−'}details p{color:var(--muted);margin:12px 0 0}.closing{background:linear-gradient(90deg,#105043,#125244db),url('assets/hero.jpg') center/cover;color:white;padding:60px 7%;display:flex;align-items:center;justify-content:space-between;gap:35px}.closing h2{max-width:450px}.closing p{max-width:400px}.page-head{margin-bottom:35px}.page-head>a{display:inline-block;margin-bottom:28px}.tabs{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 35px}.tabs button{border:1px solid var(--line);background:none;padding:11px 24px;border-radius:30px;min-height:46px}.tabs button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 22px}.gallery img{width:100%;aspect-ratio:1;object-fit:cover}.gallery h3{font-family:Text,Arial,sans-serif;font-size:21px;margin:16px 0 8px;line-height:1.3;letter-spacing:0}.gallery p{font-size:14px;color:var(--muted);margin:0 0 15px}.gallery span{color:var(--green)}.detail-main{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;align-items:start}.detail-main>img{width:100%;aspect-ratio:1.2;object-fit:cover}.detail-main .btn{margin-top:20px}.detail-note{margin-top:10px;display:block}.related{margin-top:65px}.related .gallery{grid-template-columns:repeat(3,1fr)}.steps{display:flex;gap:20px;color:var(--muted);font-size:15px;margin-bottom:35px;flex-wrap:wrap}.steps b{color:var(--green)}.formlayout{display:grid;grid-template-columns:280px 1fr;gap:55px}.formlayout aside{border-right:1px solid var(--line);padding-right:30px}.summarybox{border:1px solid var(--line);padding:18px;border-radius:18px;margin-bottom:20px}.summarybox img{width:100%;max-height:150px;object-fit:cover;border-radius:8px;margin-bottom:12px}.summarybox p{margin:8px 0}.formcontent{max-width:760px}.formcontent h1{font-size:clamp(35px,4vw,52px)}.formcontent .tabs{margin:12px 0 20px}.formcontent .tabs button{flex:1}.fieldrow{display:grid;grid-template-columns:1fr 1fr;gap:22px}.actions{display:flex;gap:18px;justify-content:space-between;align-items:center;margin:30px 0}.upload{border:1px dashed var(--muted);padding:25px;border-radius:18px}.upload input{border:0;padding:10px 0;font-size:14px}.photos{display:flex;gap:12px;flex-wrap:wrap}.photos img{width:85px;height:70px;object-fit:cover}.photos figure{margin:15px 0}.photos button{display:block;border:0;background:none;font-size:12px;text-decoration:underline}.reviewrow{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:20px 0}.reviewrow p{margin:5px 0}.success{max-width:650px;text-align:center;margin:20px auto 80px}.success .check{background:var(--green);color:white;width:90px;height:90px;border-radius:50%;display:grid;place-items:center;font-size:45px;margin:0 auto 30px}.qa-controls{font-size:13px;border-top:1px solid var(--line);margin-top:30px;padding-top:18px}.qa-controls label{display:flex;gap:10px;align-items:center}.qa-controls input{width:auto}footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;padding:45px 6%;border-top:1px solid var(--line)}footer a{display:block;margin:6px 0;font-size:14px}footer small{grid-column:1/-1;text-align:center}.empty{border:1px solid var(--line);padding:30px;border-radius:12px}#main:focus{outline:none}@media(max-width:1050px){nav{display:none;position:absolute;top:100%;left:0;right:0;padding:25px;background:var(--paper);border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;align-items:stretch}.menu{display:block}.selection{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.services{gap:30px;grid-template-columns:1fr 1.4fr}.formlayout{display:block}.formlayout aside{border:0;padding:0}.summarybox{display:flex;align-items:center;gap:20px}.summarybox img{width:110px;height:85px;margin:0}.formcontent{max-width:760px;margin:auto}.process{display:block}.process>div{margin-bottom:25px}.hero{min-height:500px}.hero h1{font-size:62px}}@media(max-width:600px){body{font-size:16px}header{min-height:74px;padding:8px 6%}.brand img{height:53px}.wrap{padding:42px 6%}.hero{min-height:540px;padding:40px 6%;align-items:flex-start;background-position:58% center}.hero:before{background:linear-gradient(90deg,#0008,#0002)}.hero>div{color:white;margin-top:55px;max-width:300px}.hero h1{font-size:49px}.hero p{font-size:18px;max-width:260px}.hero a{margin-top:45px}.selection{gap:18px 12px}.tile img{aspect-ratio:1}.tile>div{padding:10px}.tile b{font-size:17px}.tile small{font-size:12px}.services,.faq{display:block}.service-grid{gap:20px 14px}.service-grid h3{font-size:24px}.service-grid>a:not(:first-child) h3{font-size:22px}.ideas{gap:9px}.ideas img{aspect-ratio:1}.ideas figcaption{font-size:14px}.process{margin-top:28px}.closing{display:block;padding:45px 6%}.closing .btn{margin-top:12px}.gallery{gap:30px 16px}.gallery h3{font-size:18px}.gallery p{font-size:12px}.gallery span{font-size:14px}.tabs{gap:8px}.tabs button{padding:9px 16px;font-size:14px}.detail-main{display:block}.detail-main>img{margin-bottom:28px}.related .gallery{grid-template-columns:1fr 1fr}.steps{font-size:13px;gap:9px}.fieldrow{display:block}.actions{gap:10px;flex-wrap:wrap}.actions .btn{flex:1}.summarybox{font-size:14px;padding:14px;gap:14px}.summarybox img{width:85px;height:75px}.reviewrow{font-size:14px}.reviewrow>div{min-width:0;overflow-wrap:anywhere}footer{grid-template-columns:1fr 1fr;padding:35px 6%;gap:20px}footer .brand{grid-column:1/-1}.btn{font-size:15px;padding:14px 22px}h2{font-size:37px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.formlayout.project-step{display:block}.project-step .formcontent{margin:0 auto}.summarybox .textlink{display:block;margin-top:8px}.formlayout aside{margin-bottom:25px}

@media(max-width:600px){#choose .center .btn{width:100%;min-width:0;white-space:normal;text-align:left;gap:16px}.project-step .actions .btn{flex-basis:100%;white-space:normal;gap:16px}.project-step .actions .btn span,#choose .center .btn span{flex-shrink:0}}

.inquiry-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.contact-block{display:flex;flex-direction:column;gap:10px}.contact-block p{margin:0}.contact-block a{overflow-wrap:anywhere}

/* Contextual next step, in normal flow: no fixed or visual viewport dependency. */
.selection-next[hidden]{display:none}.selection-next{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:#e9efe9;border:1px solid var(--line);border-radius:12px}.selection-next>div{min-width:0}.selection-next strong{display:block;font-size:16px;line-height:1.4}.selection-next small{display:block;font-size:13px}.selection-next .btn{flex:none;white-space:nowrap;margin:0;gap:12px}@media(max-width:500px){.selection-next{padding:12px;gap:10px}.selection-next strong{font-size:13px}.selection-next small{font-size:11px}.selection-next .btn{padding:15px 16px;font-size:14px}}

/* Explicit custom-project mode */
.custom-option{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:20px 0;border-bottom:1px solid #dce2dc;margin-bottom:26px}.custom-option .textlink{padding:10px 0}.custom-project-card{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;background:#e9efe9;border:1px solid #c9d5ca;border-radius:16px;padding:24px;margin:24px 0 12px}.custom-project-card svg{width:100%;color:#395945}.custom-project-card h2{font-size:32px;margin:4px 0 10px}.custom-project-card p{margin:0}.custom-project-card .eyebrow{font-size:10px}.custom-back{margin:4px 0 24px;padding:10px 0}@media(max-width:600px){.custom-project-card{grid-template-columns:1fr;gap:12px;padding:22px}.custom-project-card svg{width:150px;height:70px}.custom-project-card h2{font-size:30px}.custom-option{align-items:flex-start;flex-direction:column}}

/* Contacts: existing design language, no tracking or form changes. */
.contacts-page{max-width:1100px}.contacts-page h1{margin-bottom:24px}.contacts-intro{font-size:20px;margin-bottom:46px}.contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 64px}.contacts-grid>div{border-bottom:1px solid var(--line,#d5ddd6);padding-bottom:24px;min-width:0}.contacts-grid h2{font:500 12px/1.4 Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;margin:0 0 15px}.contacts-grid a,.contacts-grid p{font-size:24px;line-height:1.5;margin:0;overflow-wrap:anywhere}.contacts-grid a{text-decoration-thickness:1px;text-underline-offset:5px}.contacts-action{margin-top:48px}.contacts-page a:focus-visible{outline:2px solid currentColor;outline-offset:5px}@media(max-width:600px){.contacts-grid{grid-template-columns:1fr;gap:26px}.contacts-grid a,.contacts-grid p{font-size:20px}.contacts-intro{font-size:17px;margin-bottom:36px}.contacts-action .btn{width:100%;justify-content:center}.contacts-page h1{font-size:42px}.contacts-page{padding-top:38px}}
