/* Portfolio photographs fill their allocated frame without letterboxing. */
html:root body .gallery-grid .card-visual .compare-before,html:root body .gallery-grid .card-visual .compare-after img,html:root body .project-visual.comparison-stage .compare-before,html:root body .project-visual.comparison-stage .compare-after img,html:root body .monumental-compare .compare-before,html:root body .monumental-compare .compare-after img{object-fit:cover!important;object-position:center!important;background:transparent!important}
html:root body .gallery-grid .card-visual{aspect-ratio:4/3!important}
html:root body .gallery-grid .card-visual>img:not(.compare-before){width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
html:root body .gallery-grid>.card.designed-feature>.card-visual{min-height:0!important;align-self:stretch!important;aspect-ratio:auto!important}
html:root body .about>.about-quote{width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;gap:24px!important;padding:44px clamp(24px,4vw,64px)!important;background:#cda56a09!important;border:0!important;border-block:1px solid #cda56a55!important;border-radius:0!important;align-items:start!important}
html:root body .about>.about-quote>span{position:static!important;font-family:ArtDisplay,serif!important;font-size:100px!important;line-height:.9!important;color:var(--accent)!important}
html:root body .about>.about-quote p{max-width:48ch!important;margin:0!important;font-family:ArtDisplay,serif!important;font-size:clamp(26px,2.6vw,40px)!important;line-height:1.3!important;font-weight:400!important;text-wrap:pretty}
html:root body .journey>button{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:10px!important;padding:28px 32px 24px 0!important}
html:root body .journey b{margin:0!important;line-height:1.2!important;font-family:ArtDisplay,serif!important;font-size:30px!important;font-weight:500!important}
html:root body .journey small{margin:0!important;max-width:32ch!important;text-wrap:pretty!important}
html:root body .hero-copy>p:not(.eyebrow){max-width:43ch!important;text-wrap:pretty!important;line-height:1.6!important}
html:root body .card-editorial h3{min-height:0!important;text-wrap:balance!important}
html:root body .card-fact p{display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important;line-height:1.65!important;font-size:15px!important}
html:root body .about>.principles{position:relative;gap:24px!important;padding-top:14px!important}
.principles>button{display:grid;grid-template-columns:36px 1fr;gap:12px;text-align:left;color:var(--text);background:none;border:0;border-top:2px solid var(--line);padding:24px 0;cursor:pointer;transition:border-color .35s}
.principles>button i{font-style:normal;color:var(--accent)}.principles>button b{font-size:18px}.principles>button small{grid-column:2;font-size:15px;line-height:1.6;color:var(--muted)}.principles>button[aria-pressed=true]{border-color:var(--accent)}.principles>button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.principle-detail{grid-column:1/-1;display:grid;grid-template-columns:64px 1fr;gap:24px;border-left:2px solid var(--accent);padding:24px;background:#cda56a08;animation:phase-in .4s ease}.principle-detail span{color:var(--accent);font-size:24px}.principle-detail p{margin:0!important;max-width:75ch;line-height:1.6;font-size:16px}@keyframes phase-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){html:root body .gallery-grid>.card.designed-feature>.card-visual{aspect-ratio:4/3!important}html:root body .about>.about-quote{grid-template-columns:32px 1fr!important;gap:12px!important;padding:28px 18px!important}html:root body .about>.about-quote>span{font-size:64px!important}.principle-detail{grid-template-columns:28px 1fr;gap:12px;padding:20px}.principles>button{padding:18px 0}}
@media(prefers-reduced-motion:reduce){.principle-detail{animation:none}.principles>button{transition:none}}
html:root body .card-fact p{text-transform:none!important;font-weight:400!important;letter-spacing:normal!important}
html:root body .gallery-grid>.card.designed-feature{display:flex!important;flex-direction:column!important}
html:root body .gallery-grid>.card.designed-feature>.card-visual{aspect-ratio:16/9!important;align-self:auto!important;min-height:0!important;border-right:0!important}
html:root body .gallery-grid>.card.designed-feature>.card-editorial{width:100%!important;padding:32px!important}
@media(max-width:800px){html:root body .gallery-grid>.card.designed-feature>.card-visual{aspect-ratio:4/3!important}html:root body .gallery-grid>.card.designed-feature>.card-editorial{padding:24px!important}}
html:root body .gallery-grid .card.real-work .card-visual.comparison-stage .compare-before,html:root body .gallery-grid .card.real-work .card-visual.comparison-stage .compare-after img{object-fit:cover!important;object-position:center!important}
html:root body .about-lead h2{font-size:clamp(36px,3.8vw,56px)!important;line-height:1.14!important;max-width:18ch!important;letter-spacing:-.025em!important;text-wrap:balance!important;margin:24px 0 0!important}
html:root body .about-copy{padding-top:0!important}html:root body .master-portrait{width:100%!important;max-width:none!important;margin:0 0 24px!important}html:root body .master-portrait img{width:100%!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center 42%!important}
html:root body .education-item{border:1px solid var(--line);border-radius:12px;padding:28px!important;background:var(--soft)}html:root body .education-item h3{font-size:clamp(23px,2.2vw,30px)!important;line-height:1.25!important;text-wrap:balance!important;margin:0 0 18px!important}.education-item p{margin:8px 0!important}
html:root body .hero-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:min(760px,90vw)!important;gap:12px!important;align-items:stretch!important}
html:root body .hero-actions>.hero-assessment,html:root body .hero-actions>.arrow-link,html:root body .hero-actions>.studio-trigger{width:100%!important;min-width:0!important;height:54px!important;min-height:54px!important;margin:0!important;padding:0 14px!important;border:1px solid #cda56a88!important;border-radius:9px!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:10px!important;font:600 13px Onest,sans-serif!important;text-transform:none!important;letter-spacing:0!important;white-space:nowrap!important;background:#11141040}
html:root body .hero-actions>.hero-assessment{background:var(--accent)!important;color:#111410!important}html:root body .hero-actions .arrow-link span,html:root body .hero-actions .studio-trigger b{font:600 13px Onest,sans-serif!important}.hero-actions>.studio-trigger>span{width:24px!important;height:24px!important;font-size:9px!important}.hero-actions .arrow-link i{font-size:18px!important}.hero-actions>a:hover,.hero-actions>button:hover{box-shadow:0 0 0 1px var(--accent)}
html:root body .about-quote.quote-arrived>span{animation:quote-mark .8s ease both}html:root body .about-quote.quote-arrived>p{animation:quote-copy .85s .1s ease both}@keyframes quote-mark{from{opacity:0;transform:translateY(12px) rotate(-8deg)}to{opacity:1;transform:none}}@keyframes quote-copy{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
html:root[data-theme=light]{--bg:#f0ede3;--soft:#e8e3d6;--text:#20271c;--muted:#59604f;--accent:#8a682e;--line:#29321c30;color-scheme:light}
html:root[data-theme=light] body{background:var(--bg)!important;color:var(--text)!important}html:root[data-theme=light] body:before{mix-blend-mode:multiply!important;opacity:.065!important}html:root[data-theme=light] body .hero{background:var(--bg)!important}html:root[data-theme=light] body .hero:after{background:linear-gradient(90deg,#f0ede3fa 0%,#f0ede3eb 22%,#f0ede3aa 43%,#f0ede325 68%),linear-gradient(0deg,#f0ede3 0%,#f0ede3c9 8%,transparent 38%)!important}
html:root[data-theme=light] body .atelier-footer,html:root[data-theme=light] body .contacts,html:root[data-theme=light] body .about,html:root[data-theme=light] body .works{background:var(--bg)!important}html:root[data-theme=light] body .card,html:root[data-theme=light] body .studio-dialog,html:root[data-theme=light] body .helper-panel{background:var(--soft)!important;color:var(--text)!important}html:root[data-theme=light] body .helper-panel p,html:root[data-theme=light] body .helper-answer,html:root[data-theme=light] body .helper-panel small,html:root[data-theme=light] body .helper-close,html:root[data-theme=light] body .helper-topics button,html:root[data-theme=light] body .footer-signature{color:var(--text)!important}html:root[data-theme=light] body .hero-actions>.arrow-link,html:root[data-theme=light] body .hero-actions>.studio-trigger{background:#f0ede380!important;color:var(--text)!important}
html:root body .project-visual.comparison-stage .compare-before,html:root body .project-visual.comparison-stage .compare-after img{object-fit:cover!important;object-position:center!important}
@media(max-width:700px){html:root body .hero-actions{width:100%!important;grid-template-columns:1fr 1fr!important}.hero-actions>.studio-trigger{grid-column:1/-1}html:root body .hero-actions>.arrow-link,html:root body .hero-actions>.hero-assessment{font-size:11px!important;padding:0 8px!important}html:root body .hero-actions .arrow-link span{font-size:11px!important}html:root body .about-lead h2{max-width:100%!important;font-size:38px!important}html:root body .education-item{padding:22px!important}}
@media(prefers-reduced-motion:reduce){html:root body .about-quote.quote-arrived>span,html:root body .about-quote.quote-arrived>p{animation:none}}
html:root body .contacts{background:transparent!important;background-image:none!important;box-shadow:none!important}html:root body .contacts:before,html:root body .contacts:after{display:none!important}
.footer-collage img{animation:atelier-float 7s ease-in-out infinite;animation-play-state:paused;--tilt:0deg;--offset:-20px}.footer-collage img:nth-child(1){--tilt:-7deg;--offset:18px;animation-delay:-2s}.footer-collage img:nth-child(3){--tilt:7deg;--offset:18px;animation-delay:-4s}.footer-collage.is-in-view img{animation-play-state:running}.footer-collage:hover img{animation-play-state:paused}@keyframes atelier-float{0%,100%{transform:rotate(var(--tilt)) translateY(var(--offset))}50%{transform:rotate(calc(var(--tilt) + 1deg)) translateY(calc(var(--offset) - 10px))}}@media(prefers-reduced-motion:reduce){.footer-collage img{animation:none!important}}

.helper-chat{display:grid;gap:8px;margin:18px 0}.helper-chat label{font-size:13px;color:var(--muted)}.helper-chat textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:72px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;padding:12px}.helper-chat button{padding:12px;border:1px solid var(--accent);border-radius:10px;background:transparent;color:var(--text);font:inherit}.helper-chat button:disabled{opacity:.6}.helper-panel{max-height:calc(100dvh - 100px);overflow:auto}.helper-answer{white-space:pre-wrap}

html:root[data-theme=light] body .studio-copy p,html:root[data-theme=light] body .studio-note,html:root[data-theme=light] body .studio-tabs button{color:var(--muted)!important}html:root[data-theme=light] body .studio-tabs button[aria-selected=true],html:root[data-theme=light] body .studio-close{color:var(--text)!important;border-color:var(--accent)}html:root[data-theme=light] body .studio-eyebrow{color:var(--accent)}html:root body .studio-visual{aspect-ratio:1/1}
