@font-face{font-family:'Cormorant Garamond';src:url('/fonts/CormorantGaramond-latin.woff2') format('woff2');font-style:normal;font-weight:500 600;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('/fonts/SourceSans3-latin.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}
:root{--green:#263b30;--chalk:#f2eee5;--stone:#c2b7a3;--terra:#b96f4b;--gutter:24px;--space:48px;--editorial:56px;--h1:38px;--home:42px;--h2:32px;--h3:26px;--lead:20px;--display:'Cormorant Garamond',Georgia,serif;--reading:'Source Sans 3',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--green);font:400 18px/1.65 var(--reading)}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:0;text-wrap:balance;overflow-wrap:break-word}h1{font-size:var(--h1);line-height:1.12}h2{font-size:var(--h2);line-height:1.16;margin-bottom:24px}h3{font-size:var(--h3);line-height:1.2;font-weight:600;margin-bottom:16px}p{margin-bottom:16px;max-width:65ch}p:last-child{margin-bottom:0}a{color:inherit;text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}button,a{touch-action:manipulation}img{display:block;max-width:100%;height:auto;border-radius:0;box-shadow:none;filter:none}figure{min-width:0}br{display:none}[hidden]{display:none!important}
.container{width:min(1280px,calc(100% - 2 * var(--gutter)));margin-inline:auto}.section{margin-block-start:var(--space);min-width:0}.narrow{max-width:760px}.eyebrow,.index{font-size:13px;line-height:1.4;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.lead{font-size:var(--lead);line-height:1.5;max-width:50ch}.caption,figcaption,.status{font-size:14px;line-height:1.5}figcaption{margin-top:12px}.actions,.inline-links{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px}.inline-links{gap:12px 24px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:1px solid var(--green);border-radius:0;background:var(--green);color:var(--chalk);font-size:16px;font-weight:600;line-height:1.35;text-decoration:none;text-align:center;transition:background-color 150ms,color 150ms}.button:hover{text-decoration:underline}.button.secondary{background:transparent;color:var(--green)}.button.secondary:hover{background:var(--chalk)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--green);outline-offset:2px;box-shadow:0 0 0 2px #fff}.skip{position:absolute;top:-100px;left:24px;padding:12px;background:#fff;z-index:100}.skip:focus{top:12px}
.site-header{background:#fff;position:static}.header-inner{min-height:72px;padding-block:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.brand{display:block;width:200px;flex-shrink:0}.brand img{width:100%;height:auto}.menu-toggle{min-height:44px;min-width:44px;display:flex;gap:12px;align-items:center;border:1px solid var(--green);border-radius:0;background:transparent;padding:8px 12px;font-size:16px;font-weight:600}.header-inner nav{display:none;flex-direction:column;align-items:flex-start;width:100%;gap:12px;padding:16px 0 24px}.header-inner nav.is-open{display:flex}.header-inner nav a{font-size:16px;font-weight:600;min-height:44px;padding-block:8px;text-decoration:none}.header-inner nav a[aria-current=page]{text-decoration:underline}.header-inner nav .button{display:none;padding:12px 24px}
.hero{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:32px}.hero h1{font-size:var(--home);line-height:1.08;margin-bottom:24px}.hero figure img{width:100%;height:auto;object-fit:contain}.hero p{max-width:50ch}.pair,.project-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}.offers article>img{width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:24px}.offers h2{margin-bottom:16px}.offers .inline-links{font-size:16px}.section-heading{margin-bottom:32px}.project-card a{display:block;text-decoration:none}.project-card h3{margin-top:16px;margin-bottom:8px}.project-card a:hover h3,.project-card a:focus-visible h3{text-decoration:underline}.card-frame{aspect-ratio:3/2;background:#fff}.card-frame img{width:100%;height:100%;object-fit:cover}.card-frame.proposal img{object-fit:contain}.project-card p{font-size:18px}.project-card p.status{font-size:14px;font-weight:600;margin-bottom:12px}
.support-band{background:var(--chalk);padding-block:32px}.service-row,.service-picker>a{display:grid;grid-template-columns:24px minmax(0,1fr) 20px;gap:12px;padding:24px 0;border-bottom:1px solid var(--green);text-decoration:none}.service-row:first-of-type,.service-picker>a:first-child{border-top:1px solid var(--green)}.service-row h3{margin-bottom:8px}.service-row:hover h3,.service-picker a:hover strong:first-child{text-decoration:underline}.service-row p{max-width:65ch}.service-row .index{padding-top:7px}.row-fee{font:600 16px/1.5 var(--reading);grid-column:2}.service-row>span:last-child,.service-picker>a>span:last-child{grid-column:3;grid-row:1}.service-picker{display:block}.service-picker strong{display:block}.picker-purpose{display:block;font-size:16px;line-height:1.5;margin-top:8px}.decision figure img{width:100%;height:auto;object-fit:contain}.quote-section{max-width:760px}.quote-section blockquote p{font:500 24px/1.35 var(--display)}cite{display:block;font-size:16px;font-style:normal;margin-top:16px}.quote-section>a{display:inline-block;margin-top:24px}.steps{display:grid;grid-template-columns:1fr;gap:32px;margin-top:32px}.steps article h3{margin-top:12px}.faq{margin-top:40px}
.accordion{border-bottom:1px solid var(--green)}.accordion h3{margin:0}.accordion h3 button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;border:0;background:transparent;text-align:left;padding:16px 0;gap:24px;font:600 18px/1.4 var(--reading)}.accordion button>span{font-size:24px}.accordion button[aria-expanded=true]>span{transform:rotate(45deg)}.accordion>div{padding:0 0 24px;max-width:760px}.closing{background:#fff;color:var(--green);padding:32px 0;border-top:1px solid var(--stone)}.closing>div{max-width:760px}.closing .button{background:var(--green);color:var(--chalk);border-color:var(--green)}
footer{background:var(--chalk);color:var(--green);margin-top:var(--space);padding-block:var(--space)}.footer-main{display:grid;grid-template-columns:1fr;gap:40px}.footer-main>div:first-child>img{width:min(380px,100%)}.footer-main>div:first-child>p{margin-top:16px;font-size:16px}.footer-main h2{font-size:32px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-social{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin-top:24px}.footer-social a{display:inline-flex;align-items:center;min-height:44px;padding-block:8px}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;border-top:1px solid var(--stone);padding-top:24px;margin-top:40px;font-size:14px}
.page-intro p:not(.eyebrow){font-size:var(--lead);line-height:1.5;max-width:50ch;margin-top:24px}.page-intro h1{max-width:1000px}.page-intro em{font-style:normal}.project-intro h1{margin-top:12px}.project-intro .back{display:inline-block;font-size:16px;margin-bottom:24px}.project-intro .subtitle{font-size:var(--lead);line-height:1.5;margin-top:16px}.project-hero{margin-top:32px}.project-hero img{width:100%;height:auto;max-height:640px;object-fit:contain}.image-note{font-size:14px;line-height:1.5;margin-top:16px}.brief{display:grid;grid-template-columns:1fr;gap:24px}.brief>div:last-child{max-width:680px}.brief dl{display:grid;grid-template-columns:1fr;gap:8px;margin:24px 0 0;padding-top:24px;border-top:1px solid var(--stone)}dt{font-size:14px;font-weight:600}dd{margin:0 0 16px}.chapter-text{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:32px}.chapter-text h2{margin:0}.chapter-text>div{max-width:680px}.chapter-number{font-size:14px;font-weight:600}.chapter-images{display:grid;grid-template-columns:1fr;gap:24px}.chapter-images+.chapter-images{margin-top:32px}.chapter-images img{width:100%;height:auto;object-fit:contain;max-height:640px}.image-button{display:block;position:relative;border:0;background:transparent;padding:0;width:100%}.image-button .expand{display:none}.image-button:after{content:'View larger ↗';display:block;font:600 16px/1.5 var(--reading);text-align:left;text-decoration:underline;margin-top:8px}.chapter-comparison{margin-top:32px}.comparison-pair{display:grid;grid-template-columns:1fr;gap:24px}.comparison-pair>div>span{display:block;font-size:14px;font-weight:600;margin-bottom:12px}.comparison-pair img{width:100%;height:auto;object-fit:contain}.result{max-width:800px}.related{display:grid;gap:24px}.related h2{margin:0}.related .button{justify-self:start}.project-quote{max-width:760px}.project-quote blockquote p{font:400 20px/1.5 var(--reading)}.project-quote .caption{margin-top:16px}
.founder{max-width:1080px;display:grid;grid-template-columns:minmax(0,1fr);gap:26px;align-items:start}.founder-portrait{width:100%;max-width:240px;justify-self:start}.founder-portrait img{width:100%;height:auto;object-fit:contain}.founder-copy{max-width:640px;min-width:0}.founder h2{margin-bottom:8px}.founder-role{font-size:16px;margin-bottom:24px}.duchas{max-width:1080px;display:grid;gap:24px}.duchas .subtitle{font-size:var(--lead);margin-top:16px}.duchas .large-copy{font-size:var(--lead);line-height:1.5;max-width:680px}.duchas>div:last-child{max-width:680px}.principles{max-width:1080px;display:grid;gap:0}.principles article{display:grid;grid-template-columns:1fr;gap:12px;padding:24px 0;border-bottom:1px solid var(--stone)}.principles article>span{font-size:14px;font-weight:600}.principles h3{margin:0}.principle-proof{display:block;font-size:16px;line-height:1.5;margin-top:16px}.manifesto,.name-story{max-width:760px}
.service-detail{display:grid;grid-template-areas:'heading' 'image' 'copy';gap:24px;scroll-margin-top:24px}.service-heading{grid-area:heading}.service-heading h2{margin-bottom:16px}.service-image{grid-area:image}.service-image img{width:100%;height:auto;max-height:600px;object-fit:contain}.service-copy{grid-area:copy;min-width:0}.service-copy ul{padding-left:24px;margin:0 0 24px}.service-copy li{margin-bottom:8px}.service-copy h3{margin-top:24px}.service-fee{padding:24px;border-radius:0;background:var(--chalk);margin-bottom:24px}.service-fee strong{display:block;font-size:26px;line-height:1.3;font-weight:600}.service-fee span{display:block;font-size:14px;line-height:1.5;margin-top:8px}.package-output{border-bottom:1px solid var(--green);padding-block:16px}.package-output summary{min-height:44px;font-size:18px;font-weight:600;cursor:pointer;line-height:1.5}.package-output ul{margin-top:16px}.package-output p{margin-top:16px}.package-boundary h3{font:600 18px/1.4 var(--reading);margin-bottom:16px}
.enquiry{max-width:1200px;display:grid;gap:32px}.enquiry aside h2{font-size:var(--h3)}.form-note{border-top:1px solid var(--stone);padding-top:24px;margin-top:24px}.enquiry form{max-width:680px;width:100%;min-width:0}.fields{display:grid;gap:24px;margin-block:24px 32px}.field label{display:block;font-size:16px;font-weight:600;margin-bottom:8px}.field label span{font-weight:400}.field input,.field select,.field textarea{display:block;width:100%;min-width:0;min-height:48px;padding:12px 16px;border:1px solid var(--green);border-radius:0;background:#fff;color:var(--green);font:400 16px/1.5 var(--reading)}.field select{padding-right:32px}.field textarea{min-height:160px;resize:vertical}.field-help,.field-error{font-size:14px;line-height:1.5;margin-top:8px}.field-error{font-weight:600}.field [aria-invalid=true]{border-width:2px}.form-privacy{margin-top:16px}#error-summary{border:2px solid var(--green);padding:24px;overflow-wrap:anywhere}#error-summary h2{font:600 20px/1.4 var(--reading);margin-bottom:16px}#error-summary ul{padding-left:24px;margin:0}#enquiry-preview{border-top:1px solid var(--stone);margin-top:32px;padding-top:32px;overflow-wrap:anywhere}#preview-details dd{white-space:pre-wrap}#preview-details dt{margin-top:16px}.enquiry button:disabled{opacity:.5}#form-status:not(:empty){margin-top:24px}
dialog{max-width:95vw;max-height:95vh;padding:24px;background:#fff;border:1px solid var(--green);color:var(--green)}dialog::backdrop{background:#18261ee6}dialog img{width:auto;max-width:85vw;max-height:70vh;object-fit:contain;margin:auto}.gallery-controls{display:flex;justify-content:flex-end;gap:16px;margin-bottom:16px}.gallery-controls button{min-height:44px;min-width:44px;background:transparent;border:1px solid var(--green);border-radius:0;padding:8px 16px;font-size:16px}.gallery-controls button:disabled{opacity:.5}#gallery-caption{font-size:14px;line-height:1.5;margin-top:12px}
@media(max-width:359px){:root{--home:36px;--h1:34px}.brand{width:184px}.actions{flex-direction:column;align-items:stretch}.actions .button{width:100%}.header-inner{gap:8px}.menu-toggle{width:auto;min-width:44px;font-size:16px;gap:0;justify-content:center;padding:8px}.menu-toggle span{display:none}}
@media(min-width:761px){.founder{grid-template-columns:minmax(200px,.85fr) minmax(0,1.5fr);column-gap:36px}.founder-portrait{max-width:300px}}
@media(min-width:768px){:root{--gutter:32px;--space:64px;--editorial:80px;--h1:48px;--home:64px;--h2:36px;--h3:28px}.pair,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.project-grid{row-gap:48px}.section-heading{display:flex;gap:32px;align-items:flex-end;justify-content:space-between}.section-heading h2{margin:0}.section-heading>a{white-space:nowrap}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.closing{padding:48px 0}.chapter-images:not(.single),.comparison-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-main{grid-template-columns:1fr 1fr;gap:64px}.footer-links{flex-direction:row;flex-wrap:wrap;gap:16px 24px}.principles article{grid-template-columns:32px minmax(160px,1fr) minmax(0,2fr);gap:24px}.quote-section blockquote p{font-size:28px}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.field{grid-column:1/-1}.field.half{grid-column:auto}.service-row,.service-picker>a{grid-template-columns:28px minmax(0,1fr) 24px;gap:24px}.row-fee{grid-column:3;align-self:start}.service-row>span:last-child,.service-picker>a>span:last-child{grid-column:3;grid-row:1}}
@media(min-width:1024px){:root{--gutter:48px;--space:80px;--editorial:112px;--h1:56px;--home:88px;--h2:44px;--h3:30px;--lead:22px}p{margin-bottom:20px}.header-inner{min-height:88px;padding-block:0}.brand{width:260px}.menu-toggle{display:none}.header-inner nav{display:flex;flex-direction:row;align-items:center;width:auto;gap:24px;padding:0}.header-inner nav a{white-space:nowrap}.header-inner nav .button{display:inline-flex}.header-enquiry{display:none}.hero{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;margin-top:64px;align-items:start}.hero .actions{align-items:stretch}.hero .actions .button{padding-inline:20px}.hero h1{max-width:500px}.brief{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px}.brief dl{grid-template-columns:100px 1fr;gap:12px 24px}.brief dd{margin:0}.chapter-text{grid-template-columns:40px minmax(0,1fr) minmax(0,1.5fr);gap:24px}.chapter-text h2{font-size:36px}.chapter-images{gap:32px}.closing{padding:64px 0}.support-band{padding-block:64px}.steps{gap:32px}.quote-section blockquote p{font-size:30px}.duchas{grid-template-columns:1fr 1.5fr;gap:64px}.related{grid-template-columns:1fr auto;align-items:center}.service-detail{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:'image heading' 'image copy';column-gap:64px;row-gap:24px;grid-template-rows:auto 1fr}.enquiry{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px}}
@media(min-width:1101px){.founder{grid-template-columns:300px minmax(0,640px);gap:64px}.founder+.duchas{margin-top:80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.header-enquiry{display:inline-flex;align-items:center;min-height:44px;margin-left:auto;font-size:16px;font-weight:600;line-height:1.35}.homepage .section,.chapter{margin-top:var(--editorial)}.photographic-opening{margin-top:32px}.opening-copy h1{font-size:var(--home);font-weight:600;line-height:1.1;margin-bottom:24px;max-width:none}.opening-copy h1 span{display:block}.opening-copy>p{font-size:18px;line-height:1.5;max-width:48ch;margin-bottom:24px}.photo-canvas{width:min(1680px,calc(100% - 32px));margin:32px auto 0}.photo-canvas>img{width:100%;height:auto;object-fit:contain}.photo-canvas>.container{width:calc(100% - 16px)}.project-feature{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;grid-template-areas:'main' 'copy' 'detail' 'link'}.feature-main{grid-area:main}.feature-copy{grid-area:copy;max-width:760px}.feature-detail{grid-area:detail}.feature-link{grid-area:link;justify-self:start}.project-feature img{width:100%;height:auto}.feature-copy h2{margin-bottom:20px}.editorial-projects{margin-top:32px}.all-projects{display:inline-block;margin-top:32px}.material-story{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center}.material-story img,.studio-evidence img{width:100%;height:auto}.material-story h2{margin-bottom:24px}.homepage .service-row{grid-template-columns:minmax(0,1fr) 24px}.homepage .service-row>span:last-child{grid-column:2;grid-row:1}.homepage .quote-section{max-width:760px}.homepage .process{margin-top:48px}.studio-evidence{max-width:1080px}
@media(max-width:479px){.header-enquiry{flex-basis:100%;margin-left:0}.header-inner{row-gap:8px}.photographic-opening{margin-top:24px}}
@media(min-width:768px){.photo-canvas{width:min(1680px,calc(100% - 48px))}.photo-canvas>.container{width:min(1280px,calc(100% - 16px))}.opening-copy>p{font-size:20px}.project-feature{grid-template-columns:minmax(0,8fr) minmax(0,3fr);column-gap:40px;grid-template-areas:'main detail' 'copy detail' 'link detail';grid-template-rows:auto auto 1fr}.feature-detail{margin-top:48px;align-self:start}.material-story{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px}.editorial-projects{grid-template-columns:minmax(0,6fr) minmax(0,5fr);column-gap:40px;align-items:start}.editorial-projects .project-card:nth-child(even){margin-top:64px}.homepage .process{margin-top:64px}}
@media(min-width:1024px){.header-enquiry{display:none}.photographic-opening{margin-top:48px}.photo-canvas{margin-top:32px}.photo-canvas>img{height:calc((100svh - 88px) * .75);min-height:480px;max-height:960px;object-fit:cover;object-position:50% 62%}.opening-copy>p{max-width:48ch}.project-feature{column-gap:64px}.feature-detail{margin-top:64px}.material-story{gap:80px}.editorial-projects{column-gap:80px;row-gap:64px}.editorial-projects .project-card:nth-child(even){margin-top:96px}.homepage .process{margin-top:80px}}
@media(min-width:1024px) and (max-height:650px){.photo-canvas>img{height:auto;min-height:0;max-height:none;object-fit:contain}}

@media (min-width: 1024px) {
  .photographic-opening {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
    align-items: center;
    gap: clamp(28px, 4vw, 72px);
    width: min(1440px, 93%);
    margin: clamp(24px, 3vw, 48px) auto 0;
  }
  .photographic-opening .opening-copy, .photographic-opening .photo-canvas {
    width: 100%;
    margin: 0;
  }
  .opening-copy h1 {font-size: clamp(44px, 4.6vw, 78px); line-height: 1.03;}
  .photo-canvas > img {height: auto; min-height: 0; max-height: none; object-fit: contain;}
  .photo-canvas figcaption.container {width: 100%;}
}

.services-opening.section, .studio-opening.section {margin-top:clamp(32px,5vw,68px)}
.services-opening + .service-picker {margin-top:24px}
.service-picker > a {padding:16px 0}
.service-detail.section, .studio-opening ~ .section {margin-top:clamp(40px,6vw,84px)}
.service-detail .service-copy h3 {margin:0 0 12px}
.service-image figcaption a, .studio-evidence figure a {display:inline-block;padding:8px 0}
.studio-opening h1 {margin-bottom:20px}
.studio-opening .lead {font-size:var(--lead)}
.studio-name {margin-top:20px}
@media(min-width:768px){
  .studio-opening.founder {grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr); align-items:center}
  .studio-opening .founder-portrait {justify-self:center}
  .service-picker {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px}
  .service-picker>a:nth-child(2) {border-top:1px solid var(--green)}
}

/* Baseline 1.1: retained Selected Spaces system, reversible private composition. */
.v11 .photographic-opening{display:block;width:auto;margin:32px 0 0}
.v11 .photographic-opening .opening-copy{width:min(1280px,calc(100% - 2 * var(--gutter)));margin-inline:auto}
.v11 .opening-copy h1{font-size:var(--home);line-height:1.08;max-width:1100px}
.v11 .opening-copy h1 br{display:block}
.v11 .photographic-opening .photo-canvas{width:min(1680px,calc(100% - 2 * var(--gutter)));margin:32px auto 0}
.v11 .photo-canvas>img{width:100%;height:auto;object-fit:contain}
.v11 .ways-together{max-width:900px}
.v11 .ways-together>p:first-of-type{font-size:var(--lead)}
.v11 .ways-together .button{margin-top:16px}
.v11 .card-scope{font-size:16px;line-height:1.6}
.v11 .client-process{max-width:900px}
.v11 .client-process blockquote p{font:500 28px/1.4 var(--display)}
.v11 .client-process>p{margin-top:20px}
.v11 .service-group{border-top:1px solid var(--stone);padding-top:32px}
.v11 .service-group h2{font-size:var(--h2)}
.v11 .service-heading h3{font-size:var(--h2);font-weight:500}
.v11 .service-price{border-top:1px solid var(--stone);padding-top:24px;margin-top:24px}
.v11 .service-copy p{max-width:65ch}
.v11 .service-image img{max-height:520px;object-fit:contain}
.v11 .chapter-text{grid-template-columns:minmax(0,1fr);gap:24px}
.v11 .chapter-images{margin-top:32px;align-items:start}
.v11 .chapter-images.single{max-width:1000px;margin-inline:auto}
.v11 .comparisons .comparison-pair{margin-top:40px;align-items:start}
.v11 .founder{max-width:1080px;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.v11 .founder .founder-portrait{width:100%;max-width:320px;justify-self:center}
.v11 .founder .founder-portrait img{width:100%;height:auto;object-fit:contain;border:0;box-shadow:none;filter:none;border-radius:0}
.v11 .founder-copy{max-width:560px}
.v11 .duchas{display:block;margin-top:48px}
.v11 .duchas h3{margin-top:32px}
.v11 .accordion h2{margin:0}
.v11 .accordion h2 button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;border:0;background:transparent;text-align:left;padding:16px 0;gap:24px;font:600 18px/1.4 var(--reading)}
.v11 .form-note{margin-top:0;margin-bottom:32px}
@media(min-width:1024px){
 .v11 .photographic-opening{margin-top:48px}
 .v11 .photo-canvas>img{height:75svh;min-height:480px;max-height:900px;object-fit:cover;object-position:50% 58%}
 .v11 .project-feature{grid-template-columns:minmax(0,8fr) minmax(0,3fr);grid-template-areas:'main detail' 'copy detail';align-items:start}
 .v11 .feature-copy{max-width:680px}
 .v11 .chapter-text{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:64px}
 .v11 .founder{grid-template-columns:400px minmax(0,1fr);gap:64px}
 .v11 .founder .founder-portrait{max-width:400px}
 .v11 .duchas{margin-top:80px}
}
@media(max-width:767px){
  .service-detail {grid-template-areas:'heading' 'copy' 'image';gap:16px}
  .studio-opening .founder-portrait {max-width:200px}
}

/* Visual pass 01: R01–R06 approved for implementation; visual revision awaits review. */
/* R01 shared small-screen header. Desktop navigation still begins at 1024px. */
@media(max-width:1023px){
 .v11 .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 24px;min-height:0;padding-block:12px 0}
 .v11 .header-inner .brand{width:min(200px,100%);min-width:0}
 .v11 .menu-toggle{grid-column:2;grid-row:1;justify-self:end;min-height:48px}
 .v11 .header-enquiry{grid-column:3;grid-row:1;justify-self:end;margin:0;min-height:48px;flex-basis:auto}
 .v11 .header-inner nav{grid-column:1/-1;grid-row:2;padding:16px 0 0}
 .v11 main>:first-child{margin-top:32px}
}
@media(max-width:767px){
 .v11 .header-inner{grid-template-columns:minmax(0,1fr) auto;column-gap:16px}
 .v11 .header-enquiry{grid-column:1/-1;grid-row:2}
 .v11 .header-inner nav{grid-row:3}
}
/* R02 Home only: natural-proportion source images grouped ahead of feature copy. */
.homepage .project-feature{grid-template-columns:minmax(0,1fr);grid-template-areas:'main' 'detail' 'copy';grid-template-rows:auto;gap:16px}
.homepage .feature-detail{margin:0;align-self:start}
.homepage .feature-copy{margin-top:12px;max-width:680px}
.homepage .project-feature img{width:100%;height:auto;object-fit:contain}
@media(min-width:768px){
 .homepage .project-feature{grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-areas:'main detail' 'copy copy';grid-template-rows:auto auto;gap:28px 40px}
 .homepage .feature-detail{align-self:end}
 .homepage .feature-copy{margin-top:0}
}
/* R04 reversible Home placement crop only. Original bytes stay untouched.
   Trial: source 1800×1350; 12:5 box; object position 50% 35%.
   Nominal source window x0,y210,w1800,h750. Awaiting visual approval. */
.homepage [data-content-id="home-05"]>figure{aspect-ratio:12/5;overflow:hidden}
.homepage [data-content-id="home-05"]>figure>img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
/* R05 scoped testimonial hierarchy; process stays in normal supporting type. */
.homepage .client-process .client-quote p{font:500 22px/1.45 var(--display);max-width:58ch;margin:0}
.homepage .client-attribution{margin-top:16px;margin-bottom:28px;font:400 16px/1.5 var(--reading)}
.homepage .client-steps p{font:400 18px/1.65 var(--reading)}
.homepage .client-process>a{display:inline-block;margin-top:8px}
@media(min-width:1024px){.homepage .client-process .client-quote p{font-size:28px}}
/* R06 shared mobile footer, all artwork and wording preserved. */
@media(max-width:767px){
 .v11 footer{padding-block:44px}
 .v11 .footer-main{gap:24px}
 .v11 .footer-main>div:first-child>img{width:min(300px,100%)}
 .v11 .footer-main>div:first-child>p{margin-top:12px}
 .v11 .footer-main h2{margin-bottom:16px}
 .v11 .footer-links{gap:8px}
 .v11 .footer-bottom{margin-top:24px;padding-top:20px;gap:12px}
}

/* Accepted P01–P05 reference, rolled out to the four project pages only. */
.project-page-p01 .project-hero{margin-top:24px}
.project-page-p01 .project-scope{max-width:1000px;margin-top:24px}
/* P03: one major-section gap; avoid doubled text/photo margins. */
.project-page-p01 main>.section:not(.project-intro){margin-top:48px}
.project-page-p01 .chapter-text{margin-bottom:0}
.project-page-p01 .chapter-images{margin-top:24px;gap:16px;align-items:start}
/* P02: the wrapper and control track the displayed natural-proportion image. */
.project-page-p01 .p01-photo{width:min(100%,var(--p01-photo-limit));margin-inline:auto;justify-self:center}
.project-page-p01 .p01-photo img{width:100%;height:auto;max-height:none;object-fit:contain}
.project-page-p01 .image-button::after{content:none;display:none}
.project-page-p01 .p01-enlarge{display:block;margin-top:10px;font:600 16px/1.5 var(--reading);text-align:left;text-decoration:underline}
/* P04: labels, photo and control are one unit; pairs remain visibly separate. */
.project-page-p01 .p01-comparison-item{width:min(100%,var(--p01-photo-limit));justify-self:center}
.project-page-p01 .comparisons .comparison-pair{margin-top:24px;column-gap:32px;row-gap:16px;align-items:start}
.project-page-p01 .comparisons .comparison-pair+.comparison-pair{margin-top:48px}
/* P05: complete quotation, restrained rule, existing reading family and palette. */
.project-page-p01 .project-quote blockquote{border-left:2px solid var(--stone);padding-left:20px}
.project-page-p01 .project-quote blockquote p{font:400 20px/1.6 var(--reading);max-width:65ch}
.project-page-p01 .project-quote cite{font:400 16px/1.5 var(--reading);margin-top:20px}
.project-page-p01 .closing{padding-block:0}
@media(min-width:1024px){
 .project-page-p01 .project-hero{margin-top:32px}
 .project-page-p01 main>.section:not(.project-intro){margin-top:80px}
 .project-page-p01 .chapter-images{margin-top:32px;gap:32px}
 .project-page-p01 .project-quote blockquote p{font-size:22px;line-height:1.55}
}

/* P03 paired tracks fit their photographs, so the visible gap equals the grid gap. */
.project-page-p01 .chapter-images:not(.single){max-width:var(--p01-group-limit);margin-inline:auto}

/* Project rollout01 finishing adjustments. Shared Home/header/footer stay untouched. */
.project-page-p01 main>.section.closing{margin-top:28px;padding-top:20px}
@media(min-width:1024px){
 .project-page-p01 .project-hero,.project-page-p01 .project-scope{max-width:var(--p01-lead-limit)}
 .project-page-p01 main>.section.closing{margin-top:60px}
}
/* Closing redistribution:28+20=48 mobile;60+20=80 desktop. The existing1px rule remains. */

/* Design completion01. Only the four remaining pages; accepted shared rules above stay intact. */
.projects-page [data-content-id="projects-02"]{column-gap:32px;row-gap:48px;align-items:start}
.projects-page .card-frame img{object-fit:contain;object-position:center}
.projects-page .project-card .caption{font-size:14px;line-height:1.5;margin-bottom:12px}
.projects-page .project-card .card-scope{font-size:16px;line-height:1.6;margin-top:12px}
.projects-page .project-card h3{font-size:var(--h3);margin-top:20px;margin-bottom:8px}
.services-page .service-index{margin-top:32px;padding-block:24px;border-block:1px solid var(--stone);max-width:1080px}
.services-page .service-index h2{font:600 18px/1.5 var(--reading);margin-bottom:16px}
.services-page .service-index ol{display:grid;gap:12px 32px;list-style:none;margin:0;padding:0}
.services-page .service-index a{display:inline-block;padding-block:8px;font-size:18px;line-height:1.5}
.services-page .service-detail{grid-template-areas:'heading' 'image' 'copy';gap:24px;align-items:start;margin-top:40px}
.services-page .service-heading h3{margin-bottom:12px}
.services-page .service-heading .lead{font-size:18px;line-height:1.5;margin-bottom:0}
.services-page .service-image{width:min(100%,var(--service-image-limit));justify-self:center}
.services-page .service-image img{width:100%;height:auto;max-height:none;object-fit:contain}
.services-page .service-copy{max-width:65ch}
.services-page .service-output-label{margin-top:24px;margin-bottom:12px}
.services-page .service-price{font-size:18px;line-height:1.6;margin-top:24px;padding-top:24px}
.services-page .service-price strong{font-size:22px;line-height:1.5;font-weight:600}
.studio-page .principles article{grid-template-columns:minmax(0,1fr);gap:12px;padding-block:24px}
.studio-page .principles article h3{font-size:var(--h3);font-weight:500}
.studio-page .principles article>div{max-width:65ch}
.studio-page .studio-closing{max-width:1080px;border-top:1px solid var(--stone);padding-top:24px}
.studio-page .studio-closing .actions{margin-top:0}
.enquiry-page .enquiry{grid-template-areas:'notice' 'form' 'support';row-gap:32px}
.enquiry-page .form-note{grid-area:notice;margin:0;padding-top:24px}
.enquiry-page #project-form{grid-area:form}
.enquiry-page .enquiry>aside{grid-area:support;margin-top:16px;min-width:0}
.enquiry-page .fields{gap:24px}
.enquiry-page .field-help,.enquiry-page .field-error{margin-bottom:0}
@media(min-width:768px){
 .projects-page [data-content-id="projects-02"]{column-gap:32px;row-gap:64px}
 .services-page .service-index ol{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1024px){
 .projects-page [data-content-id="projects-02"]{column-gap:48px;row-gap:80px}
 .services-page .service-index{margin-top:40px}
 .services-page .service-detail{grid-template-areas:'image heading' 'image copy';column-gap:64px;row-gap:24px;margin-top:48px}
 .studio-page .principles article{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);column-gap:64px;padding-block:32px}
 .enquiry-page .enquiry{grid-template-areas:'notice form' 'support form';grid-template-rows:auto 1fr;column-gap:64px;row-gap:32px;align-items:start}
 .enquiry-page .enquiry>aside{margin-top:0}
}

/* Studio Philosophy02: the two authorised compositions only. */
.studio-page .studio-name-story{max-width:1080px;margin-top:48px;display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center}
.studio-page .studio-name-logo{width:min(240px,100%);justify-self:center}
.studio-page .studio-name-logo img{width:100%;height:auto;object-fit:contain}
.studio-page .studio-name-copy{min-width:0}
.studio-page .studio-name-copy h2{font:500 28px/1.2 var(--display);margin-bottom:16px}
.studio-page .studio-duchas-panel{max-width:1080px;margin-top:48px;display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding:24px;border-radius:16px;background:var(--green);color:var(--chalk)}
.studio-page .studio-panel-identity,.studio-page .studio-panel-copy{min-width:0}
.studio-page .studio-panel-identity h2{font:400 44px/1.1 var(--reading);margin-bottom:16px}
.studio-page .studio-panel-tagline{font:500 22px/1.3 var(--display);margin:0}
.studio-page .studio-panel-tagline span{display:block}
.studio-page .studio-panel-belief{font:500 26px/1.3 var(--display);margin-bottom:24px}
.studio-page .studio-panel-support{font:400 18px/1.65 var(--reading);margin:0}
@media(min-width:1024px){
 .studio-page .studio-name-story{grid-template-columns:320px minmax(0,1fr);column-gap:64px;margin-top:80px}
 .studio-page .studio-name-logo{width:280px}
 .studio-page .studio-name-copy h2{font-size:32px}
 .studio-page .studio-duchas-panel{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:48px;padding:48px;margin-top:80px}
 .studio-page .studio-panel-identity h2{font-size:64px}
 .studio-page .studio-panel-tagline{font-size:24px}
 .studio-page .studio-panel-belief{font-size:32px}
}

/* Local Privacy Notice, matching existing reading styles. */
.privacy-notice h2:not(:first-child){margin-top:32px}
.privacy-notice{overflow-wrap:anywhere}
.form-privacy h2{font:600 16px/1.5 var(--reading);margin-bottom:8px}
