@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:light;--ink:#17191c;--lime:#b8e52b;--paper:#f5f5f0;--muted:#656762;--line:#d8dad2;--soft:#eef0e8;--white:#fff;--max:1320px}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}svg{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid #719700;outline-offset:5px}.container{width:calc(100% - 112px);max-width:var(--max);margin-inline:auto}.skip-link{position:fixed;z-index:10;left:20px;top:12px;padding:14px;background:var(--lime);transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:5;background:rgba(245,245,240,.97);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;height:105px}.brand{display:block;width:218px;flex-shrink:0;isolation:isolate}.site-header nav{display:flex;align-items:center;gap:36px;font-size:13px;font-weight:550}.site-header nav>a{padding-block:12px}.site-header nav>a:hover{text-decoration:underline;text-underline-offset:6px}.site-header .nav-cta{margin-left:12px;border:1px solid transparent;display:flex;align-items:center;gap:22px;background:var(--lime);border-radius:6px;padding:12px 18px;font-size:12px}.site-header .nav-cta:hover{background:#c9f14e;text-decoration:none}.nav-cta span{font-size:24px;line-height:1}.menu-toggle{display:none}
.hero{overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:42px;padding-block:55px 60px}.hero-copy{padding-top:22px}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:650;letter-spacing:1.8px;line-height:1.5}.hero .eyebrow{display:flex;align-items:center;gap:11px}h1{font-size:clamp(54px,5.25vw,80px);line-height:1.08;font-weight:600;letter-spacing:-3.5px;margin-top:29px}.word-mark{position:relative;display:inline-block;isolation:isolate}.word-mark:after{content:'';position:absolute;background:var(--lime);height:.16em;left:0;right:-.05em;bottom:.05em;z-index:-1;transform:skewX(-18deg)}.hero-description{max-width:485px;font-size:14px;line-height:1.85;color:#575a55;margin-top:31px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:30px}.button{border-radius:6px;min-height:52px;padding:16px 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:12px;font-weight:650;border:1px solid transparent;transition:background .18s,transform .18s}.button span{font-size:22px;line-height:1;font-weight:400}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#33372f}.button-lime{background:var(--lime);color:var(--ink)}.button-lime:hover{background:#ccf65a}.text-link{display:inline-flex;gap:18px;align-items:center;font-size:11px;font-weight:600;line-height:1.5}.text-link>span{font-size:22px;font-weight:400}.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.hero-art{position:relative;border-radius:10px;background:radial-gradient(ellipse at 100% 0,#38451d66,transparent 65%),var(--ink);color:var(--paper);min-height:505px;display:flex;flex-direction:column;justify-content:space-between;padding:27px;overflow:hidden}.vinyl-sheet{border-radius:4px;position:absolute;left:9%;right:9%;top:20%;bottom:20%;display:flex;align-items:center;transform:rotate(-9deg);background:#1e2123;border:1px solid #ffffff18;box-shadow:10px 20px 40px #0004}.brand-symbol{display:block;height:auto;width:84%;margin:auto;isolation:isolate}
.section{padding-block:105px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:49px}h2{font-size:clamp(34px,3.4vw,50px);line-height:1.16;font-weight:550;letter-spacing:-2px}.section-heading h2,.about h2{margin-top:18px}.section-intro{font-size:12px;line-height:1.9;max-width:310px;color:var(--muted);padding-bottom:4px}.service-list{border-top:1px solid var(--ink)}.service{border-bottom:1px solid var(--line)}.service summary{padding:25px 0;display:grid;grid-template-columns:1fr 24px;align-items:center;gap:16px;cursor:pointer;list-style:none}.service summary::-webkit-details-marker{display:none}.service h3{font-size:21px;font-weight:500;line-height:1.35;letter-spacing:-.6px}.service-plus{width:22px;height:22px;position:relative}.service-plus:before,.service-plus:after{content:'';position:absolute;top:50%;left:2px;width:18px;height:1px;background:var(--ink)}.service-plus:after{transform:rotate(90deg);transition:transform .15s}.service[open] .service-plus:after{transform:rotate(0)}.service summary:hover h3{color:#5b740d}.service-content{display:flex;justify-content:space-between;align-items:flex-start;gap:35px;margin-left:0;padding:0 40px 28px 0}.service-content p{font-size:12px;line-height:1.9;max-width:600px;color:var(--muted)}.service-content .text-link{white-space:nowrap;margin-top:3px}
.projects{background:#eef0e8}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.project-caption{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-top:20px}.project-caption h3{font-size:14px;font-weight:550}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.large-copy{font-size:20px;line-height:1.65;font-weight:450;letter-spacing:-.3px}.about-copy>p+p{font-size:12px;line-height:1.95;color:var(--muted);margin-top:22px}.about-copy .text-link{margin-top:24px}.process-heading{margin-top:80px;border-bottom:1px solid var(--ink);padding-bottom:20px;display:flex;justify-content:space-between}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin:0;padding:30px 0 0;list-style:none}.step-number{display:block;font-size:10px;color:var(--muted);margin-bottom:25px}.process h3{font-size:13px;font-weight:600;margin-bottom:12px}.process p{font-size:11px;line-height:1.9;color:var(--muted);max-width:230px}
.contact{border-top:4px solid var(--lime);background:var(--ink);color:var(--paper)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.contact-copy .eyebrow{color:#c4c8bd}.contact-copy h2{margin-top:30px;font-size:clamp(32px,3.6vw,55px);letter-spacing:-2.3px;line-height:1.2}.contact-copy h2>span{color:var(--lime)}.contact-copy>p:not(.eyebrow){margin-top:28px;font-size:13px;line-height:1.9;color:#b9bdb2;max-width:360px}.contact-copy>p.contact-note{margin-top:30px;font-size:10px;line-height:1.9;color:#b9bdb2}.contact-note .form-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.form-title h3{font-size:17px;font-weight:500}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.inquiry-form .upload-label{margin-bottom:8px}.file-hint{font-size:9px;line-height:1.8;color:#b6bdac;margin-top:8px}
.inquiry-form label{display:block;font-size:10px;font-weight:500;line-height:1.6;margin-bottom:22px}.inquiry-form label>span:not(.optional){color:var(--lime)}.optional{font-size:9px;color:#aaa}.inquiry-form input:not([type=file]),.inquiry-form textarea,.inquiry-form select{display:block;width:100%;border:0;border-bottom:1px solid #4d514a;background:transparent;color:var(--paper);font-size:11px;padding:13px 0;border-radius:0;line-height:1.6;margin-top:2px}.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:#9da296;opacity:1}.inquiry-form input:focus,.inquiry-form textarea:focus,.inquiry-form select:focus{outline:none;border-bottom-color:var(--lime);box-shadow:0 1px 0 var(--lime)}.inquiry-form textarea{resize:vertical;min-height:105px}.inquiry-form select{cursor:pointer;padding-right:16px}.inquiry-form select option{background:var(--ink);color:var(--paper)}.file-input{display:block;width:100%;font-size:10px;margin-top:10px;color:#c0c5b8}.file-input::file-selector-button{border:1px solid #717963;background:transparent;color:var(--paper);padding:6px 10px;margin-right:10px;font-family:inherit;cursor:pointer}.file-status{font-size:9px;line-height:1.7;color:#c4cbb7;margin-top:8px;overflow-wrap:anywhere}.file-status.has-error{color:#ffb9a7}.form-notice{font-size:9px;line-height:1.9;color:#b6bdac;margin-block:22px 18px}.inquiry-form .button{width:100%}.required-note{font-size:8px;color:#a4aa9a;margin-top:12px}
.site-footer{padding-top:50px;background:var(--ink);color:var(--paper);border-top:1px solid #353a30}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:42px}.footer-brand{width:230px;isolation:isolate}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #353a30;padding-block:22px;font-size:8px;color:#a4aa9a;letter-spacing:.3px}.back-top{color:#d4d8cc}
dialog{border:0;max-width:620px;width:calc(100% - 36px);max-height:90vh;background:var(--paper);padding:32px;color:var(--ink)}dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.dialog-close{border:1px solid #adb29f;background:transparent;width:36px;height:36px;font-size:25px;line-height:1}.dialog-header .eyebrow{font-size:9px}dialog h2{font-size:31px;letter-spacing:-1px}.dialog-description{font-size:11px;line-height:1.9;color:var(--muted);margin-top:15px}dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:11px;line-height:1.9;padding:20px;background:#e6e9dd;margin-block:22px;max-height:280px;overflow:auto}
/* Light composition with lime details inspired by the visual reference. */
.brand img,.footer-brand img{display:block;width:100%;height:auto}
.arrow-icon{display:block;width:1em;height:1em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.icon-library{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.service-shortcuts{background:#f9faf5;border-block:1px solid var(--line)}
.shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:14px}
.service-shortcut{position:relative;display:flex;align-items:center;gap:13px;padding:8px 20px;border-right:1px solid var(--line);min-width:0;transition:background .18s}
.service-shortcut{padding-block:16px}.service-shortcut:nth-child(3n+1){padding-left:0}.service-shortcut:nth-child(3n){border-right:0;padding-right:0}.service-shortcut:nth-child(-n+3){border-bottom:1px solid var(--line)}
.line-icon{width:39px;height:39px;flex-shrink:0;fill:none;stroke:#7b9d15;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service-shortcut strong{display:block;font-size:11px;font-weight:600;line-height:1.6;letter-spacing:-.2px}

.service-shortcut:hover strong{text-decoration:underline;text-underline-offset:4px}.service-shortcut:hover .line-icon{stroke:#4f6b00}
.service{scroll-margin-top:16px}.service[open]{border-bottom-color:#aebd81}
.service[open] .service-plus{background:#e4edc7;border-radius:50%}
.section-heading .eyebrow{display:flex;align-items:center;gap:12px}

.step-number{width:28px;height:28px;display:grid;place-items:center;background:#e5ebd5;border-radius:50%;color:#4b5840}
@media(max-width:1100px){
  .service-shortcut{flex-direction:column;align-items:flex-start;gap:10px;padding:8px 17px}
  .service-shortcut strong{font-size:10px}.line-icon{width:34px;height:34px}
}
@media(max-width:600px){
  .shortcut-grid{grid-template-columns:1fr 1fr;padding-block:10px}
  .service-shortcut:nth-child(n){flex-direction:row;align-items:center;gap:10px;padding:17px 10px;border-right:0;border-bottom:1px solid var(--line)}
  .service-shortcut:nth-child(odd){padding-left:0}.service-shortcut:nth-child(even){padding-right:0}
  .service-shortcut:nth-last-child(-n+2){border-bottom:0}
  .service-shortcut strong{font-size:9px}.line-icon{width:30px;height:30px}
  .service{scroll-margin-top:12px}.hero-art{border-radius:8px}
}
/* Real project photography and its full-size viewer. */
.project-card{min-width:0}
.project-caption{align-items:flex-start;flex-direction:column;gap:6px}
.project-detail{font-size:10px;line-height:1.7;color:var(--muted)}.project-detail:empty{display:none}
.category-cover .project-open{cursor:pointer}
.category-cover .project-caption{flex-direction:column;align-items:flex-start}
.service-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px;min-width:220px}
.contact-direct a{display:inline-block;font-size:clamp(16px,1.5vw,20px);font-weight:500;color:var(--paper);line-height:1.8;overflow-wrap:anywhere}
.contact-direct a:hover{text-decoration:underline;text-underline-offset:5px}
.workshop-details strong{color:var(--paper);font-weight:600}
.workshop-details .text-link{margin-top:12px;color:var(--lime)}
.gallery-filters{scroll-margin-top:110px}
.project-open{display:block;position:relative;aspect-ratio:4/3;background:#e1e5da;border-radius:8px;overflow:hidden;cursor:zoom-in}
.project-open picture{display:block;width:100%;height:100%}
.project-open img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(var(--photo-saturation,.96)) contrast(var(--photo-contrast,1.025)) brightness(var(--photo-brightness,1.015));transform:rotate(var(--photo-rotation,0deg)) scale(var(--photo-scale,1));transition:transform .2s}
.project-open:hover img{transform:rotate(var(--photo-rotation,0deg)) scale(var(--photo-hover-scale,1.025))}
.photo-action{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:32px;height:32px;border-radius:4px;background:var(--paper);color:var(--ink);font-size:20px;pointer-events:none}
.photo-open{overflow:hidden}
.photo-dialog{width:calc(100% - 40px);max-width:1160px;max-height:94vh;max-height:94dvh;padding:16px;border-radius:8px;background:var(--ink);color:var(--paper)}
.photo-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}
.photo-dialog h2{font-size:14px;line-height:1.5;font-weight:500;letter-spacing:0}
.photo-control{display:grid;place-items:center;flex-shrink:0;width:42px;height:36px;padding:8px;background:transparent;border:1px solid #626b57;border-radius:4px;color:var(--paper);font-size:20px}
.photo-control:hover{background:#343c29;border-color:var(--lime)}.photo-control:disabled{opacity:.35;cursor:default}
.photo-stage{display:grid;place-items:center;min-height:160px;background:#111315;border-radius:4px;overflow:hidden}
#photo-view{display:block;width:100%;height:auto;max-height:72vh;max-height:72dvh;object-fit:contain}
.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}
.photo-counter{font-size:10px;letter-spacing:1px}
.photo-status{font-size:10px;line-height:1.7;color:#ccd2c2;margin-top:8px}.photo-status:empty{display:none}
@media(max-width:1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.project-grid{grid-template-columns:1fr}.photo-dialog{width:calc(100% - 16px);padding:10px}.photo-dialog h2{font-size:12px}#photo-view{max-height:68vh;max-height:68dvh}}

.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin:-18px 0 28px}
.gallery-filter{padding:10px 15px;border:1px solid #c6cdbb;border-radius:5px;background:transparent;color:var(--ink);font-size:11px;line-height:1.5;font-weight:500}
.gallery-filter:hover{border-color:#71854b}.gallery-filter[aria-pressed=true]{background:var(--lime);border-color:var(--lime)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.gallery-filters{gap:8px;margin-top:-6px;margin-bottom:24px}.gallery-filter{font-size:10px;padding:9px 12px}}
@media(min-width:1600px){.hero-grid{gap:80px}.hero-art{min-height:560px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header-inner{gap:22px}.site-header nav{gap:22px}.site-header .nav-cta{margin-left:0;gap:12px}.brand{width:190px}.hero-grid{gap:30px}.hero-art{min-height:465px}.hero-copy{padding-top:10px}h1{font-size:clamp(48px,5.5vw,60px);letter-spacing:-2.5px}.hero-description{font-size:12px}.hero-actions{gap:18px}.hero-actions .button{font-size:10px;padding-inline:16px;gap:15px}.hero-actions .text-link{font-size:10px;gap:10px}.service summary{grid-template-columns:1fr 22px}.service h3{font-size:18px}.service-content{margin-left:0}.service-content p{max-width:460px}.service-content .text-link{white-space:normal;min-width:160px}.contact-grid{gap:50px}.section{padding-block:85px}.about-grid{gap:60px}.project-caption{align-items:flex-start}.project-caption h3{font-size:12px}}
@media(max-width:900px){html{scroll-padding-top:90px}.header-inner{height:86px}.brand{width:188px}.menu-toggle{display:flex;align-items:center;gap:10px;min-height:44px;padding:12px;border:1px solid transparent;border-radius:6px;appearance:none;-webkit-appearance:none;background:var(--lime);color:#17191c;font-size:11px;font-weight:600;line-height:1.2}.menu-toggle:hover{background:#c9f14e}.menu-icon{width:22px;height:14px;position:relative;display:block;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.menu-icon:before{content:'';position:absolute;top:5px;left:0;width:22px;height:1px;background:currentColor}.menu-toggle[aria-expanded=true] .menu-icon{border:0}.menu-toggle[aria-expanded=true] .menu-icon:before,.menu-toggle[aria-expanded=true] .menu-icon:after{content:'';position:absolute;top:6px;width:22px;height:1px;background:currentColor;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{transform:rotate(-45deg)}.site-header nav{position:absolute;left:0;right:0;top:86px;padding:20px 32px 30px;background:var(--paper);border-bottom:1px solid var(--line);align-items:stretch;flex-direction:column;gap:8px;display:none;box-shadow:0 15px 20px #0001}.site-header nav.is-open{display:flex}.site-header .nav-cta{justify-content:space-between;margin-top:8px}.hero-grid{grid-template-columns:1.08fr .92fr;gap:24px;padding-block:34px 40px}.hero-art{min-height:470px;padding:20px}h1{font-size:clamp(32px,5.35vw,48px);letter-spacing:-1.8px;margin-top:23px}.hero-description{margin-top:23px;font-size:12px}.hero-actions{flex-direction:column;align-items:flex-start;gap:16px;margin-top:23px}.vinyl-sheet{top:24%;bottom:24%;left:8%;right:8%}.section-heading{gap:35px}.section-intro{max-width:230px;font-size:11px}h2{font-size:34px}.service summary{grid-template-columns:1fr 22px;gap:12px}.service-content{margin-left:0;flex-direction:column;gap:18px;padding-right:25px}.service-content .text-link{white-space:normal}.project-grid{gap:20px}.project-caption{flex-direction:column;gap:7px}.about-grid{gap:30px}.large-copy{font-size:16px}.process{gap:20px}.process h3{font-size:11px}.process p{font-size:10px}.contact-grid{grid-template-columns:1fr;gap:48px}.contact-copy h2{font-size:48px}.contact-copy>p:not(.eyebrow){max-width:500px}.contact-note{margin-top:25px}.inquiry-form{max-width:660px}.contact-copy .eyebrow{font-size:9px}.footer-bottom{font-size:7px}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.header-inner{height:79px}.brand{width:170px}.site-header nav{top:79px;padding-inline:20px}.hero-grid{grid-template-columns:1fr;gap:32px;padding-block:30px 30px}.hero-copy{padding-top:0}.eyebrow{font-size:8px;letter-spacing:1.5px}.hero .eyebrow{gap:8px}h1{font-size:clamp(33px,8.8vw,54px);line-height:1.1;letter-spacing:-1.8px;margin-top:24px}.hero-description{font-size:12px;line-height:1.85;max-width:360px;margin-top:24px}.hero-actions{flex-direction:row;align-items:center;gap:18px;flex-wrap:wrap;margin-top:25px}.hero-actions .button{font-size:10px;gap:20px;min-height:49px}.hero-actions .text-link{font-size:9px;gap:8px}.hero-art{min-height:335px}.vinyl-sheet{top:18%;bottom:18%;left:20%;right:20%;max-width:300px;margin:auto}.section{padding-block:65px}.section-heading{flex-direction:column;align-items:flex-start;gap:23px;margin-bottom:30px}h2{font-size:33px;letter-spacing:-1.5px}.section-heading h2,.about h2{margin-top:14px}.section-intro{max-width:330px;font-size:11px}.service summary{padding-block:24px;grid-template-columns:1fr 20px;gap:12px}.service h3{font-size:15px;letter-spacing:-.45px}.service-plus{width:20px}.service-content{margin-left:0;padding-right:0;padding-bottom:24px;gap:14px}.service-content p{font-size:11px}.service-content .text-link{font-size:10px}.project-grid{grid-template-columns:1fr;gap:32px}.project-caption{flex-direction:row;gap:16px;padding-top:15px}.project-caption h3{font-size:11px}.about-grid{grid-template-columns:1fr;gap:28px}.large-copy{font-size:17px}.about-copy>p+p{font-size:11px}.process-heading{margin-top:48px;padding-bottom:18px}.process{grid-template-columns:1fr 1fr;gap:30px 22px;padding-top:25px}.step-number{margin-bottom:16px;font-size:9px}.process h3{font-size:11px}.process p{font-size:10px}.contact-grid{gap:40px}.contact-copy h2{font-size:clamp(32px,8.5vw,48px);letter-spacing:-1.9px;margin-top:22px}.contact-copy>p:not(.eyebrow){font-size:11px;margin-top:20px}.contact-note{margin-top:25px}.form-title{margin-bottom:24px}.form-title h3{font-size:16px}.form-row{grid-template-columns:1fr;gap:0}.inquiry-form label{font-size:10px;margin-bottom:19px}.inquiry-form input:not([type=file]),.inquiry-form textarea,.inquiry-form select{font-size:16px;padding-block:12px}.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{font-size:11px}.inquiry-form select{font-size:12px}.form-notice{font-size:8px}.site-footer{padding-top:30px}.footer-top{padding-bottom:30px}.footer-brand{width:175px}.back-top{font-size:9px;gap:8px}.footer-bottom{flex-direction:column;gap:10px;font-size:7px;padding-block:20px}dialog{padding:23px}dialog h2{font-size:26px}.dialog-header .eyebrow{font-size:7px}.dialog-description,dialog pre{font-size:10px}}
/* Privacy information and form fallback use the same local assets as the main page. */
.brand picture{display:block}
.inquiry-form fieldset{border:0;margin:0;padding:0;min-width:0}
.inquiry-form fieldset:disabled{opacity:.65}
.form-privacy{font-size:10px;line-height:1.9;color:#c4cbb7;margin-bottom:20px}
.form-privacy a,.inquiry-form noscript a{color:#f5f5f0;text-decoration:underline;text-underline-offset:3px}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;font-size:10px;line-height:1.6}
.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
.legal-content{max-width:820px;padding-block:70px 90px}
.legal-content h1{font-size:clamp(34px,5vw,56px);line-height:1.15;letter-spacing:-1.8px;margin-top:20px}
.legal-content .legal-lead{font-size:17px;margin-top:26px;color:var(--ink)}
.legal-content p,.legal-content li{font-size:13px;line-height:1.9;color:var(--muted)}
.legal-content p+p{margin-top:15px}
.legal-content .legal-version{font-size:10px;margin-top:16px}
.legal-content section{margin-top:40px;scroll-margin-top:125px}
.legal-content h2{font-size:23px;line-height:1.4;letter-spacing:-.5px;margin-bottom:15px}
.legal-content strong{font-weight:600;color:var(--ink)}
.legal-content a:not(.text-link){text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.legal-content a:hover{color:var(--ink)}
.legal-topics{display:flex;flex-wrap:wrap;gap:12px 22px;padding-block:24px;margin-top:28px;border-block:1px solid var(--line);font-size:11px;line-height:1.7}
.legal-content ul{padding-left:22px;margin:0}.legal-content li+li{margin-top:12px}
.legal-note{margin-top:20px;padding:20px;border-left:3px solid var(--lime);background:var(--soft);font-size:12px;line-height:1.9;color:var(--ink)}
.legal-content .legal-return{margin-top:40px}
/* These panels keep their dark brand treatment in both device themes. */
.contact,.site-footer,.photo-dialog,.hero-art{--ink:#17191c;--paper:#f5f5f0;color-scheme:dark}
.button-lime,.site-header .nav-cta,.gallery-filter[aria-pressed=true],.skip-link{color:#17191c}
::selection{color:#17191c}
.dialog-close{color:inherit}
@media(prefers-color-scheme:dark){
  :root{color-scheme:dark;--ink:#f5f5f0;--paper:#17191c;--muted:#b8bdb3;--line:#3b4038;--soft:#252b21;--white:#17191c}
  .site-header{background:rgba(23,25,28,.97)}
  .hero-description{color:var(--muted)}
  .word-mark:after{bottom:-.025em;height:.1em}
  .service-shortcuts{background:#1c1f1e}
  .projects{background:#202322}
  .line-icon{stroke:var(--lime)}
  .service-shortcut:hover .line-icon{stroke:#d1f181}
  .service summary:hover h3{color:var(--lime)}
  .service[open]{border-bottom-color:#71894b}
  .service[open] .service-plus{background:#2a3520}
  .step-number{background:#2a3520;color:#d9efb1}
  .gallery-filter{border-color:#4c5645}
  .gallery-filter:hover{border-color:var(--lime)}
  .project-open{background:#2a2f29}
  .button-dark:hover{background:#dce4d1;color:#17191c}
  dialog pre{background:#252b21}
  :focus-visible{outline-color:var(--lime)}
}
@media(max-width:600px){
  .form-privacy{font-size:10px}
  .legal-content{padding-block:42px 60px}
  .legal-content h2{font-size:21px}
  .legal-content section{margin-top:32px;scroll-margin-top:95px}
  .legal-content .legal-lead{font-size:15px}
  .legal-note{padding:16px}
  .footer-links{gap:10px 18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media print{
  :root{color-scheme:light;--ink:#17191c;--paper:#fff;--muted:#444;--line:#bbb;--soft:#f0f0eb}
  .legal-content{max-width:none;padding-block:0}
  .legal-topics,.legal-return{display:none}
  .legal-content h1{font-size:32px}.legal-content h2{font-size:20px}
  .legal-content section{break-inside:avoid}
}
@media print{.site-header,.hero-art,.service-shortcuts,.contact,.site-footer,.skip-link{display:none}.section{padding-block:25px}.container{width:100%}.hero-grid{display:block;padding-block:10px}.hero h1{font-size:44px}.button,.hero-actions,.service-content{display:block}.section-heading h2,.about h2{font-size:25px}.about-grid{gap:20px}.project-grid{display:none}body{background:white;color:black}}

/* Inquiry submission status and an off-screen anti-spam field. */
.inquiry-form .submit-label{font:inherit;line-height:inherit}
.form-status{font-size:12px;line-height:1.8;margin-top:18px;color:#c4cbb7;overflow-wrap:anywhere}
.form-status.has-error{color:#ffb9a7}.form-status.is-success{color:#d5f27b}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.inquiry-form[aria-busy=true] button{cursor:wait}
