/* Studio, archive and inquiry pages share one quiet editorial rhythm. */
.page-heading{padding:104px 0 88px}
.page-heading h1{font-size:clamp(44px,5.2vw,72px);line-height:1.15;margin-top:24px;max-width:1000px}
.page-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid var(--line);padding-top:30px;margin-top:58px;align-items:start}
.page-intro .small-label{color:#b5c6c4}
.page-intro p{font-size:19px;line-height:1.75;color:#c8d3cf;letter-spacing:-.025em}
.about-story{padding:112px 0 92px}
.story-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}
.story-grid h2{font-size:clamp(32px,3.1vw,44px);line-height:1.3}
.story-grid>div>p:not(.large-copy){font-size:17px;line-height:1.95;color:#4f5c59;letter-spacing:-.018em;margin-top:24px}
.studio-principles{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:34px;padding-top:24px;border-top:1px solid var(--paper-line);color:#397578;font-size:13px;font-weight:600}
.collaboration-section{padding:108px 0 112px}
.collaboration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px}
.collaboration-grid article{border-top:1px solid var(--line);padding-top:25px}
.collaboration-grid article>span{font-size:10px;letter-spacing:.12em;color:var(--accent);font-weight:550}
.collaboration-grid h3{font-size:25px;margin-top:30px;line-height:1.3}
.collaboration-grid p{font-size:15px;line-height:1.9;color:#b4c4bf;margin-top:18px}
.portfolio-section{padding:54px 0 112px}
.archive-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:30px;border-bottom:1px solid var(--paper-line);margin-bottom:42px}
.archive-toolbar>p{font-size:12px;color:#62706a;flex-shrink:0}
.filter-group{display:flex;flex-wrap:wrap;gap:8px}
.filter-group button{min-height:44px;border:1px solid transparent;border-radius:0;background:transparent;color:#52605b;padding:9px 18px;font-size:13px;font-weight:550;line-height:1.5}
.filter-group button:hover{border-color:#b4c2bc;color:var(--ink)}
.filter-group button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 28px}
.gallery .work-title{font-size:20px;line-height:1.4}
.gallery .work-description{font-size:12px;line-height:1.65;letter-spacing:-.01em}
.gallery .work-meta{gap:8px}
.media-note{padding:0 0 100px}
.media-note .wrap{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:48px;padding-top:44px;border-top:1px solid var(--paper-line)}
.media-note h2{font-size:34px;letter-spacing:-.025em;margin-top:16px}
.media-note .wrap>p{font-size:15px;color:#64716a;line-height:1.9}
.media-note .text-link{margin-top:12px;color:var(--ink);font-size:13px}
.contact-page{padding:102px 0 112px}
.contact-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:82px;align-items:start}
.contact-intro{padding-top:8px;min-width:0}
.contact-intro h1{font-size:clamp(38px,3.85vw,55px);line-height:1.22;margin-top:24px}
.contact-description{font-size:17px;line-height:1.85;color:#bacac4;letter-spacing:-.02em;margin-top:28px}
.contact-scope{display:flex;gap:20px;margin-top:32px;font-size:11px;letter-spacing:.14em;color:var(--accent)}
.direct-email{margin-top:84px;padding-top:28px;border-top:1px solid var(--line)}
.direct-email>.small-label{font-size:11px;letter-spacing:0;color:#b3c3bc}
.direct-email>a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;width:fit-content;max-width:100%;margin-top:8px;font-size:clamp(17px,1.7vw,24px);font-weight:550;letter-spacing:-.035em;overflow-wrap:anywhere}
.direct-email>a>span{flex-shrink:0;font-size:24px;color:var(--accent)}
.direct-email>a:hover{color:var(--accent)}
.direct-email>p{font-size:12px;color:#98aaa1;margin-top:6px;line-height:1.75}
.form-panel{background:var(--paper);color:var(--ink);padding:42px;min-width:0}
.form-heading .small-label{color:#397578;font-size:10px;letter-spacing:.14em}
.form-heading h2{font-size:30px;margin-top:12px}
.form-heading p{font-size:12px;line-height:1.8;color:#63716a;margin-top:12px}
#contact-form{margin-top:34px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}
#contact-form label{display:block;font-size:12px;font-weight:600;line-height:1.65;color:#3d4b45}
#contact-form label>span{color:#3b7b7b;margin-left:3px}
#contact-form input:not([type="checkbox"]),#contact-form textarea{display:block;width:100%;margin-top:10px;border:1px solid #b8c4bb;border-radius:0;background:#ffffff5c;color:var(--ink);font-size:16px;line-height:1.6;padding:12px 14px;min-width:0;box-shadow:none}
#contact-form input:not([type="checkbox"]){min-height:53px}
#contact-form textarea{min-height:188px;resize:vertical}
#contact-form input::placeholder,#contact-form textarea::placeholder{font-size:16px;line-height:1.6;color:#8a978d;opacity:1;font-weight:400}
#contact-form input:hover,#contact-form textarea:hover{border-color:#7a9385}
#contact-form input:focus,#contact-form textarea:focus{border-color:#397578}
.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.privacy-consent{display:flex;align-items:center;gap:10px;margin-top:21px;min-height:44px}
#contact-form .privacy-consent input{width:19px;height:19px;margin:0;flex-shrink:0;accent-color:#317e7c;cursor:pointer}
.consent-sentence{display:flex;flex-wrap:wrap;align-items:center;font-size:12px;line-height:1.7}
#privacy-open{border:0;border-radius:0;background:none;padding:10px 0;min-height:44px;font-size:12px;line-height:1.7;font-weight:600;color:#2d706f;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
#contact-form .consent-sentence label{display:flex;align-items:center;min-height:44px;font-weight:400;cursor:pointer}
.submit-button{width:100%;justify-content:center;margin-top:22px;min-height:54px}
.submit-button:disabled{cursor:wait;background:#b1c4bc;border-color:#b1c4bc;color:#465b50}
#form-status{font-size:12px;color:#485c50;line-height:1.8;margin-top:14px;min-height:0;overflow-wrap:anywhere}
#form-status:empty{margin-top:0}
#contact-form noscript{display:block;font-size:12px;line-height:1.8;margin-top:16px}
#contact-form noscript a{text-decoration:underline;text-underline-offset:3px}
.faq-section{padding:98px 0 108px}
.faq-layout{display:grid;grid-template-columns:.8fr 1.4fr;gap:100px}
.faq-layout h2{font-size:40px;line-height:1.3;margin-top:20px}
.faq details{border-bottom:1px solid var(--paper-line)}
.faq details:first-child{border-top:1px solid var(--paper-line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:20px 0;list-style:none;cursor:pointer;font-size:16px;line-height:1.6;font-weight:550;letter-spacing:-.02em;word-break:keep-all}
.faq summary::-webkit-details-marker{display:none}
.faq summary::marker{content:""}
.faq summary>span{flex-shrink:0;font-size:24px;font-weight:350;color:#487973;line-height:1;transition:transform .15s}
.faq details[open] summary>span{transform:rotate(45deg)}
.faq details>p{font-size:14px;line-height:1.9;color:#5d6c62;padding:0 32px 26px 0}
dialog{position:fixed;border:0;border-radius:0;padding:0;background:var(--paper);color:var(--ink);width:min(760px,calc(100% - 40px));max-width:calc(100% - 40px);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 20px 100px #0005}
dialog::backdrop{background:#080d0dd1;backdrop-filter:blur(5px)}
.modal-open{overflow:hidden}
.dialog-close{position:absolute;z-index:1;top:14px;right:14px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #c3cec4;background:var(--paper);color:var(--ink);font-size:28px;font-weight:400;line-height:1}
.dialog-close:hover{background:#d7e9df;border-color:#8ca998}
#detail-image{width:100%;max-height:430px;object-fit:contain;background:#0d1516}
.detail-text{padding:32px 36px 38px}
.detail-text .eyebrow{color:#397578}
#detail-title{font-size:30px;line-height:1.35;margin-top:14px;padding-right:10px}
#detail-copy{color:#526259;font-size:14px;line-height:1.9;margin-top:16px}
#privacy-dialog{width:min(650px,calc(100% - 40px));padding:48px}
#privacy-dialog>.eyebrow{color:#397578;padding-right:44px}
#privacy-title{font-size:30px;line-height:1.35;margin-top:20px;letter-spacing:-.035em}
#privacy-dialog .note{font-size:16px;line-height:1.95;color:#46594c;margin-top:24px}
#privacy-dialog .note a{color:#2b7271;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.story-grid{gap:60px}.contact-layout{gap:48px}.form-panel{padding:32px}.fields{grid-template-columns:1fr;gap:22px}.contact-intro h1{font-size:43px}.collaboration-grid{gap:30px}.faq-layout{gap:60px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 26px}}
@media(max-width:900px){.page-heading{padding:76px 0 66px}.page-heading h1{font-size:52px}.page-intro{gap:34px;margin-top:42px}.page-intro p{font-size:17px}.about-story{padding:80px 0}.story-grid{grid-template-columns:1fr 1.2fr;gap:38px}.story-grid h2{font-size:32px}.story-grid>div>p:not(.large-copy){font-size:15px}.collaboration-section{padding:80px 0}.collaboration-grid{gap:22px}.collaboration-grid h3{font-size:21px}.collaboration-grid p{font-size:14px}.portfolio-section{padding:40px 0 80px}.contact-page{padding:72px 0 84px}.contact-layout{grid-template-columns:1fr;gap:48px}.contact-intro h1{font-size:52px}.contact-description{font-size:17px}.direct-email{margin-top:36px}.direct-email>a{font-size:24px}.form-panel{padding:42px}.fields{grid-template-columns:1fr 1fr;gap:22px}.faq-section{padding:78px 0}.faq-layout{gap:40px;grid-template-columns:.75fr 1.25fr}.faq-layout h2{font-size:32px}.faq summary{font-size:15px;gap:16px}.media-note{padding-bottom:80px}}
@media(max-width:600px){.page-heading{padding:56px 0 52px}.page-heading h1{font-size:38px;line-height:1.2;margin-top:22px}.page-intro{grid-template-columns:1fr;gap:18px;margin-top:36px;padding-top:24px}.page-intro p{font-size:16px;line-height:1.85}.about-story{padding:60px 0}.story-grid{grid-template-columns:1fr;gap:32px}.story-grid h2{font-size:31px}.story-grid h2 br:nth-of-type(2){display:none}.story-grid .large-copy{font-size:21px}.studio-principles{gap:10px 16px;font-size:12px;margin-top:28px}.collaboration-section{padding:62px 0 70px}.collaboration-grid{grid-template-columns:1fr;gap:30px}.collaboration-grid article{padding-top:22px}.collaboration-grid h3{font-size:24px;margin-top:18px}.collaboration-grid p{font-size:15px;margin-top:14px}.portfolio-section{padding:30px 0 62px}.archive-toolbar{align-items:flex-start;flex-direction:column;gap:16px;padding-bottom:22px;margin-bottom:28px}.filter-group{gap:3px}.filter-group button{padding:9px 12px;font-size:12px}.archive-toolbar>p{font-size:11px}.gallery{gap:29px 14px}.gallery .work-title{font-size:15px;line-height:1.5;letter-spacing:-.035em}.gallery .work-description{font-size:11px;line-height:1.65}.gallery .work-meta{gap:5px}.gallery .work-open{width:32px;height:32px;font-size:17px}.media-note{padding-bottom:64px}.media-note .wrap{grid-template-columns:1fr;gap:24px;padding-top:30px}.media-note h2{font-size:30px;margin-top:12px}.media-note .wrap>p{font-size:14px}.contact-page{padding:54px 0 64px}.contact-layout{gap:36px}.contact-intro h1{font-size:38px;line-height:1.24;margin-top:22px}.contact-description{font-size:15px;line-height:1.9;margin-top:22px}.contact-scope{margin-top:24px}.direct-email{margin-top:32px;padding-top:22px}.direct-email>a{font-size:21px}.direct-email>p{font-size:12px}.form-panel{padding:28px 24px 30px}.form-heading h2{font-size:27px}.form-heading p{font-size:12px}#contact-form{margin-top:28px}.fields{grid-template-columns:1fr;gap:22px;margin-bottom:22px}#contact-form textarea{min-height:190px}.privacy-consent{align-items:flex-start;margin-top:16px;gap:9px}#contact-form .privacy-consent input{margin-top:13px}.consent-sentence{display:block}#privacy-open{display:inline;padding:10px 0}.consent-sentence label{display:inline!important;min-height:0!important}.submit-button{margin-top:16px}.faq-section{padding:60px 0 68px}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-layout h2{font-size:31px;margin-top:16px}.faq-layout h2 br{display:none}.faq summary{font-size:15px;min-height:74px;line-height:1.65;gap:15px;padding:19px 0}.faq details>p{font-size:14px;padding-right:18px}.faq summary>span{font-size:23px}dialog{width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}.dialog-close{top:10px;right:10px}.detail-text{padding:26px 24px 30px}#detail-title{font-size:25px}#detail-copy{font-size:13px}#privacy-dialog{width:calc(100% - 24px);padding:34px 24px 30px}#privacy-dialog>.eyebrow{font-size:10px;min-height:22px}#privacy-title{font-size:26px;margin-top:18px}#privacy-dialog .note{font-size:15px;line-height:1.9;margin-top:20px}}
@media(max-width:600px){#privacy-open{display:inline-flex;align-items:center}}
@media(max-width:360px){.page-heading h1,.contact-intro h1{font-size:33px}.page-intro p{font-size:15px}.contact-description br{display:none}.direct-email>a{font-size:18px}.form-panel{padding:26px 20px 28px}.filter-group button{padding-inline:10px}.gallery .work-title{font-size:14px}.gallery .work-description{font-size:10px}.faq summary{font-size:14px}#privacy-title{font-size:24px}}
/* Expand the checkbox hit area while keeping the visible mark compact. */
#contact-form .privacy-consent input{appearance:none;-webkit-appearance:none;position:relative;width:44px;height:44px;min-width:44px;margin:0;border:0;background:none}
#privacy-consent::before{content:'';position:absolute;width:22px;height:22px;left:11px;top:11px;border:1px solid #82968b;border-radius:2px;background:#fff}
#privacy-consent:checked::before{background:#317e7c;border-color:#317e7c}
#privacy-consent:checked::after{content:'';position:absolute;left:19px;top:15px;width:7px;height:12px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)}
.privacy-consent{gap:0;margin-left:-11px}
@media(max-width:600px){
  .consent-sentence{display:flex;align-items:center;flex-wrap:wrap}
  #contact-form .consent-sentence label{display:inline-flex!important;align-items:center;min-height:44px!important}
  .filter-group button{min-width:44px}
  #privacy-dialog .note a{display:inline-flex;align-items:center;min-height:44px}
  #contact-form input,#contact-form textarea{scroll-margin-top:86px;scroll-margin-bottom:32px}
  #privacy-open,#contact-form .consent-sentence label,#form-status{font-size:13px}
}
@media(max-width:360px){
  .gallery{grid-template-columns:1fr;gap:30px}
  .gallery .work-title{font-size:19px}
  .gallery .work-description{font-size:12px}
}
@media(forced-colors:active){#privacy-consent::before{border-color:ButtonText}#privacy-consent:checked::before{background:Highlight}#privacy-consent:checked::after{border-color:HighlightText}}
.paper :focus-visible,.form-panel :focus-visible,dialog :focus-visible{outline-color:#2d706f}
