.portfolio-dialog{box-sizing:border-box;width:min(1120px,calc(100vw - 48px));max-height:94dvh;padding:22px 26px;background:#f7f7ef;color:#173f32;border:0;border-radius:16px;box-shadow:0 25px 100px #0004;overflow:auto}.portfolio-dialog::backdrop{background:#122b24cc;backdrop-filter:blur(5px)}.portfolio-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:18px}.portfolio-dialog-top .eyebrow{font-size:9px;margin:0}.portfolio-dialog-top h2{font-size:25px;line-height:1.2;margin:6px 0 0;font-weight:500;letter-spacing:.04em}.portfolio-close{border:1px solid #cbd4bf;background:transparent;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;color:inherit;flex-shrink:0}.portfolio-dialog-art{background:#e6e9de;border-radius:8px;overflow:hidden}.portfolio-dialog-art .portfolio-crop{width:min(100%,var(--modal-art-width));margin:auto}.portfolio-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:20px}.portfolio-dialog-description{font-size:14px;line-height:1.65;color:#52634d;max-width:640px;margin:0}.portfolio-dialog .button{font-size:13px;white-space:nowrap;padding:14px 18px;gap:15px}.portfolio-dialog-navigation{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d5deca;margin-top:20px;padding-top:14px;font-size:12px;color:#627552}.portfolio-dialog-navigation button{background:transparent;border:0;color:#173f32;padding:8px;cursor:pointer;font:inherit}.portfolio-dialog button:focus-visible,.portfolio-dialog a:focus-visible{outline:2px solid #b45935;outline-offset:3px}body.portfolio-modal-open{overflow:hidden}

/* Image-led reference story. The supplied concepts are examples, not client cases. */
.visual-references{background:#f7f7f2;color:#193e31}
.visual-references main{overflow:clip}
.visual-intro{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:50px;padding-top:82px;padding-bottom:68px;scroll-margin-top:140px}
.visual-references .eyebrow{font-size:10px;letter-spacing:.15em;font-weight:600}
.visual-intro h1{font-size:clamp(64px,7.3vw,108px);line-height:.97;letter-spacing:-.065em;font-weight:500;margin:24px 0 0;color:#193e31}
.visual-intro h1 span{color:#89927d}
.visual-intro-aside{padding-bottom:5px;max-width:330px;justify-self:end}
.visual-intro-aside p{font-size:16px;line-height:1.7;color:#69715f;margin:0 0 24px}
.visual-intro-aside a,.visual-freedom>a,.visual-section-heading>a{display:inline-flex;gap:32px;align-items:center;font-size:13px;text-decoration:none;color:#193e31;border-bottom:1px solid #aeb9a2;padding:0 0 9px}
.visual-intro-aside a span{font-size:21px}
.visual-looks{padding:0 24px}
.portfolio-card{--panel:#e8ecdf;--ink:#193e31;--muted:#627159;position:relative;background:var(--panel);color:var(--ink);margin:0 0 24px;padding:64px max(5vw,24px);border-radius:22px;overflow:hidden;scroll-margin-top:125px;display:grid;grid-template-columns:.8fr 1.3fr;gap:6vw;align-items:center;min-height:750px}
.portfolio-card .portfolio-card-copy{grid-column:1;grid-row:1;max-width:440px}
.portfolio-card .portfolio-open{grid-column:2;grid-row:1}
.portfolio-card.scene-1{--panel:#1c2c25;--ink:#f6f3e9;--muted:#b9c0ae}
.portfolio-card.scene-2{--panel:#eeeee5;--ink:#273629;--muted:#7a806c}
.portfolio-card.scene-3{--panel:#dce5e8;--ink:#263f45;--muted:#677d82}
.portfolio-card.scene-4{--panel:#293e2b;--ink:#f2f1df;--muted:#b0bea2}
.portfolio-card.scene-5{--panel:#1b201c;--ink:#f3f5e9;--muted:#adb7a1}

.portfolio-label{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:64px}
.scene-brand{margin:0 0 21px;font-size:11px;letter-spacing:.13em;color:var(--ink);font-weight:500}
.scene-brand span{color:var(--muted);font-size:9px;letter-spacing:.04em;white-space:nowrap}
.portfolio-card-copy h2{font-size:clamp(42px,4.5vw,68px);line-height:1.04;letter-spacing:-.055em;font-weight:500;color:var(--ink);margin:0 0 32px}
.portfolio-request{display:inline-flex;gap:20px;align-items:center;color:var(--ink);padding:12px 0;border-bottom:1px solid var(--muted);font-size:12px;text-decoration:none;max-width:100%}
.portfolio-card svg,.visual-freedom svg{width:16px;height:16px;flex-shrink:0}
.portfolio-open{display:block;position:relative;border:1px solid #ffffff22;border-radius:10px;background:transparent;padding:0;width:100%;max-width:660px;margin:auto;box-shadow:0 24px 50px -26px #0007;overflow:hidden;cursor:zoom-in;text-align:left;translate:0 var(--scene-lift,0px)}
.portfolio-crop{position:relative;display:block;width:100%;aspect-ratio:var(--crop-ratio);overflow:hidden}
.portfolio-crop img{position:absolute;display:block;max-width:none!important;width:var(--crop-width)!important;height:auto!important;left:var(--crop-left);top:var(--crop-top)}
.portfolio-enlarge{position:absolute;right:18px;bottom:18px;background:#fffffff0;color:#193e31;border-radius:30px;display:flex;align-items:center;gap:12px;padding:12px 17px;font-size:11px;box-shadow:0 2px 10px #0002;transition:background .2s}
.portfolio-open:hover .portfolio-enlarge{background:#e3edce}
.scene-2,.scene-4{grid-template-columns:1.3fr .8fr}
.scene-2 .portfolio-open,.scene-4 .portfolio-open{grid-column:1}
.scene-2 .portfolio-card-copy,.scene-4 .portfolio-card-copy{grid-column:2}
.visual-references a:focus-visible,.visual-references button:focus-visible{outline:3px solid #ad8247;outline-offset:5px}
.visual-freedom{text-align:center;padding-top:110px;padding-bottom:115px}
.visual-freedom h2{font-size:clamp(48px,5.7vw,80px);line-height:1.03;letter-spacing:-.055em;font-weight:500;margin:25px 0;color:#193e31}
.visual-freedom h2 span{color:#89927d}
.visual-freedom>p:not(.eyebrow){font-size:17px;line-height:1.75;color:#69715f;margin-bottom:30px}
.visual-reviews{padding:85px 0;background:#e9ecdf}
.visual-section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:40px}
.visual-section-heading h2{font-weight:500;font-size:clamp(35px,4.3vw,56px);line-height:1.05;letter-spacing:-.05em;margin:20px 0 0;color:#193e31}
.visual-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.visual-review-grid .dw-review-card{background:#f8f9f2;border:0;border-radius:16px;padding:30px 25px;box-shadow:none;margin:0}
.visual-review-grid .dw-review-card blockquote{font-size:14px;line-height:1.8;margin:25px 0;color:#4b5c44}
.visual-review-grid .dw-review-topic{font-size:10px;line-height:1.5}
.visual-contact{grid-template-columns:.75fr 1.25fr;gap:90px;padding-top:100px;padding-bottom:100px;align-items:center}
.visual-contact .contact-portrait{border-radius:18px;max-width:420px;min-height:0;aspect-ratio:4/4.6;overflow:hidden}
.visual-contact .contact-caption{padding:20px 25px}
.visual-contact .contact-caption strong{font-size:20px}
.visual-contact .contact-copy h2{font-size:clamp(38px,4.3vw,60px);line-height:1.07;font-weight:500;letter-spacing:-.05em}
.visual-contact .contact-copy>p:not(.eyebrow){max-width:440px;font-size:16px;line-height:1.8;margin:25px 0 30px}
.scroll-reveal{opacity:1;transform:none;transition:opacity .85s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.scroll-reveal:not(.is-visible){opacity:0;transform:translateY(35px)}
.portfolio-open.scroll-reveal:not(.is-visible){transform:translateY(45px) scale(.97)}
@media(min-width:1600px){.portfolio-card{padding-left:max(6vw,calc((100vw - 1340px)/2));padding-right:max(6vw,calc((100vw - 1340px)/2))}}
@media(max-width:1000px){.visual-intro{gap:30px;padding-top:60px;padding-bottom:50px}.visual-intro h1{font-size:70px}.portfolio-card{gap:35px;min-height:570px;padding:45px 35px}.portfolio-card-copy h2{font-size:43px}.portfolio-label{margin-bottom:40px;font-size:9px}.visual-contact{gap:45px}.visual-review-grid{gap:12px}.visual-review-grid .dw-review-card{padding:22px 18px}.visual-review-grid .dw-review-person{gap:10px}}
@media(max-width:760px){
 .visual-intro{display:block;padding-top:44px;padding-bottom:36px}.visual-intro h1{font-size:clamp(49px,11.6vw,80px);margin-top:20px}.visual-intro-aside{margin-top:26px;max-width:none}.visual-intro-aside p{font-size:14px;line-height:1.6;margin:0 0 18px}.visual-intro-aside a{font-size:12px;gap:25px}
 .visual-looks{padding:0 10px}.portfolio-card{display:flex;flex-direction:column;align-items:stretch;gap:25px;margin-bottom:12px;border-radius:15px;min-height:0;padding:27px 20px 34px;scroll-margin-top:110px}
 .portfolio-card .portfolio-card-copy{display:block;order:-1;max-width:none}.portfolio-label{font-size:8px;margin-bottom:31px;letter-spacing:.1em}.scene-brand{font-size:10px;margin-bottom:12px}.scene-brand span{font-size:8px}
 .portfolio-card .portfolio-card-copy h2{font-size:clamp(35px,8.7vw,53px);margin:0 0 18px;line-height:1.05}.portfolio-request{font-size:11px;padding:5px 0 9px;gap:16px}
 .portfolio-open{border-radius:6px;translate:none;max-width:500px}.portfolio-enlarge{right:9px;bottom:9px;font-size:9px;padding:8px 10px;gap:8px}.portfolio-enlarge svg{width:12px;height:12px}
 .visual-freedom{padding-top:66px;padding-bottom:70px}.visual-freedom h2{font-size:47px;margin:22px 0}.visual-freedom>p:not(.eyebrow){font-size:14px;max-width:310px;margin:0 auto 25px}.visual-freedom>p br{display:none}.visual-freedom>a{font-size:12px;gap:20px}
 .visual-reviews{padding:55px 0}.visual-section-heading{display:block;margin-bottom:30px}.visual-section-heading h2{font-size:40px}.visual-section-heading>a{margin-top:25px;font-size:12px}.visual-review-grid{grid-template-columns:1fr;gap:14px}.visual-review-grid .dw-review-card{padding:25px}.visual-review-grid .dw-review-card blockquote{font-size:14px;margin:20px 0}
 .visual-contact{grid-template-columns:1fr;gap:35px;padding-top:60px;padding-bottom:65px}.visual-contact .contact-portrait{width:100%;max-width:none;max-height:450px;aspect-ratio:1/1}.visual-contact .contact-copy h2{font-size:40px}.visual-contact .contact-copy>p:not(.eyebrow){font-size:15px;margin:20px 0 25px}
 .portfolio-dialog{width:calc(100vw - 20px);padding:16px;max-height:96dvh;border-radius:12px}.portfolio-dialog-top h2{font-size:21px}.portfolio-dialog-bottom{display:block}.portfolio-dialog .button{margin-top:16px;width:100%;justify-content:center}.portfolio-dialog-description{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal:not(.is-visible),.portfolio-open.scroll-reveal:not(.is-visible){opacity:1;transform:none;transition:none}.portfolio-open{translate:none}.visual-references{scroll-behavior:auto}}
@media print{.scroll-reveal,.scroll-reveal:not(.is-visible){opacity:1;transform:none}.portfolio-open{translate:none}}

/* All customer voices stay on this page, in a clearly separated section. */
.visual-reviews{background:#193e31;padding:95px 0 105px;margin-top:0}
.visual-reviews .visual-section-heading{align-items:center;margin-bottom:50px}
.visual-reviews .eyebrow{color:#b7c9a4}
.visual-reviews .visual-section-heading h2{color:#f6f7ed;font-size:clamp(46px,5.8vw,78px);line-height:1.02}
.review-quote-mark{font-family:Georgia,serif;font-size:220px;line-height:.6;color:#91a77b;align-self:end;margin-right:12px}
.visual-review-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.visual-review-grid .dw-review-card{padding:26px 23px;background:#f4f5ec;display:flex;flex-direction:column}
.visual-review-grid .dw-review-person{gap:12px;align-items:flex-start}
.visual-review-grid .dw-review-image{width:54px;height:54px;flex:0 0 54px}
.visual-review-grid .dw-review-person b{font-size:17px;line-height:1.2}
.visual-review-grid .dw-review-person span:not(.dw-individual-stars){font-size:11px;line-height:1.5}
.visual-review-grid .dw-review-person small{font-size:10px}
.visual-review-grid .dw-individual-stars{font-size:16px}
.visual-review-grid .dw-review-card blockquote{font-size:14px;line-height:1.8;margin:25px 0;flex:1}
.visual-review-grid .dw-review-topic{margin-top:auto;font-size:10px;line-height:1.6}
@media(max-width:1200px){.visual-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-review-grid .dw-review-card{padding:30px}.visual-review-grid .dw-review-image{width:62px;height:62px;flex-basis:62px}}
@media(max-width:760px){.visual-reviews{padding:60px 0}.visual-reviews .visual-section-heading{display:flex;gap:12px;margin-bottom:35px}.visual-reviews .visual-section-heading h2{font-size:41px}.review-quote-mark{font-size:100px;margin-right:0}.visual-review-grid{grid-template-columns:1fr;gap:16px}.visual-review-grid .dw-review-card{padding:27px}.visual-review-grid .dw-review-person b{font-size:18px}.visual-review-grid .dw-review-person span:not(.dw-individual-stars){font-size:12px}}

/* Lead with the style; the project title provides context beneath it. */
.visual-intro h1{font-size:clamp(54px,6.4vw,94px)}
.portfolio-card-copy .scene-brand{margin-bottom:28px;font-size:12px;letter-spacing:.13em}
.portfolio-card-copy h2{margin-bottom:24px;font-size:clamp(40px,4vw,61px)}
.portfolio-card-copy .scene-caption{font-size:18px;line-height:1.5;color:var(--muted);margin:0 0 32px;max-width:320px;letter-spacing:-.015em}
.review-trust{display:flex;align-items:center;gap:18px;margin-top:32px;color:#f6f7ed}
.review-trust-icon{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border:1px solid #a6bd8c77;border-radius:50%;color:#c1d6aa}
.review-trust-icon svg{width:29px;height:29px}
.review-trust strong{display:block;font-size:19px;line-height:1.4;font-weight:500;letter-spacing:-.02em}
.review-trust div>span{display:block;margin-top:4px;font-size:13px;line-height:1.5;color:#b7c9a4}
@media(max-width:1000px){.portfolio-card-copy h2{font-size:clamp(30px,3.6vw,43px)}.portfolio-card-copy .scene-caption{font-size:16px}}
@media(max-width:760px){.visual-intro h1{font-size:clamp(43px,10.8vw,76px)}.portfolio-card .portfolio-card-copy h2{font-size:clamp(30px,8.5vw,48px);margin-bottom:18px}.portfolio-card-copy .scene-brand{font-size:10px;margin-bottom:23px}.portfolio-card-copy .scene-caption{font-size:15px;margin-bottom:22px}.visual-reviews .visual-section-heading{position:relative}.visual-reviews .visual-section-heading>div{width:100%}.review-quote-mark{position:absolute;right:0;top:22px;font-size:78px}.review-trust{gap:12px;margin-top:26px}.review-trust-icon{flex-basis:42px;width:42px;height:42px}.review-trust-icon svg{width:24px;height:24px}.review-trust strong{font-size:15px}.review-trust div>span{font-size:11px}}

/* Keep each of the two headline sentences together on wide screens. */
.visual-intro{display:block}
.visual-intro h1{font-size:clamp(44px,5.4vw,80px);line-height:1.08;letter-spacing:-.055em;max-width:1150px}
.visual-intro h1 .intro-line{display:block;text-wrap:balance}
.visual-intro h1 .intro-line:first-child{color:#193e31}
.visual-intro-aside{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:28px;padding-bottom:0}
.visual-intro-aside p{margin:0;max-width:420px}
.visual-intro-aside a{flex-shrink:0}
@media(max-width:760px){.visual-intro h1{font-size:clamp(35px,9.8vw,62px);line-height:1.08;letter-spacing:-.055em}.visual-intro h1 .intro-line+.intro-line{margin-top:6px}.visual-intro-aside{display:block;margin-top:24px}.visual-intro-aside p{margin:0 0 18px}}
.visual-intro-aside{width:100%;justify-self:stretch}

/* Give the introduction room and make the individual-design invitation distinct. */
.visual-intro-aside p{max-width:none;flex:1}
.visual-freedom{margin-top:48px;margin-bottom:80px;padding:72px 50px 76px;background:transparent;border:0;border-radius:0}
.visual-freedom h2{font-size:clamp(43px,5.1vw,70px);margin:24px 0 20px}
.visual-freedom h2 span{color:#b65c37}
.visual-freedom>p:not(.eyebrow){max-width:570px;margin:0 auto 28px;font-size:17px;line-height:1.75;color:#59674f}
.visual-freedom>p.freedom-reassurance{font-size:25px;font-weight:500;line-height:1.3;color:#193e31;margin-bottom:14px;letter-spacing:-.025em}
.visual-freedom>a{background:#b65c37;color:#fff;border:0;border-radius:30px;padding:17px 25px;margin-top:3px;gap:25px;font-size:14px;transition:background .2s}
.visual-freedom>a:hover{background:#9d4d2e}
@media(max-width:760px){.visual-intro-aside p{max-width:none}.visual-freedom{margin-top:28px;margin-bottom:45px;padding:45px 24px 48px;border-radius:0}.visual-freedom h2{font-size:clamp(32px,9.2vw,48px);margin:22px 0 20px}.visual-freedom>p:not(.eyebrow){font-size:15px;line-height:1.7;margin-bottom:24px;max-width:320px}.visual-freedom>p.freedom-reassurance{font-size:22px;margin-bottom:12px}.visual-freedom>a{font-size:12px;padding:15px 18px;gap:15px}}
/* Stronger heading hierarchy, with body copy kept at its existing reading weight. */
.visual-intro h1{font-weight:700}
.portfolio-card-copy h2,.visual-freedom h2,.visual-reviews .visual-section-heading h2,.visual-contact .contact-copy h2{font-weight:600}
.visual-freedom>p.freedom-reassurance{font-weight:600}

/* An open, monochrome typographic invitation, separate from the project cards. */
.look-editorial{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:start;padding-top:110px;padding-bottom:120px;color:#193e31;background:transparent;border:0;border-radius:0;text-align:left}
.look-editorial h2{grid-column:2;grid-row:1;text-align:right;margin:0;font-size:clamp(44px,4.7vw,66px);font-weight:600;line-height:1.1;letter-spacing:-.055em;color:inherit}
.look-editorial h2 .look-accent{font:inherit;color:#7b896d}
.look-editorial-copy{grid-column:1;grid-row:1;padding-top:6px}
.look-editorial h3{margin:0 0 24px;font-size:30px;font-weight:500;line-height:1.2;letter-spacing:-.035em;color:inherit}
.look-editorial p{margin:0;max-width:465px;font-size:17px;line-height:1.85;color:inherit}
.look-editorial a{display:inline-flex;align-items:center;gap:30px;margin-top:30px;padding:0 0 10px;color:inherit;background:none;border:0;border-bottom:1px solid currentColor;border-radius:0;text-decoration:none;font-size:14px;line-height:1.5}
.look-editorial a svg{width:18px;height:18px;flex-shrink:0;transition:transform .2s}
.look-editorial a:hover svg{transform:translate(2px,-2px)}
@media(max-width:1100px){.look-editorial{gap:55px}.look-editorial h2{font-size:46px}.look-editorial h3{font-size:27px}.look-editorial p{font-size:16px}}
@media(max-width:760px){.look-editorial{grid-template-columns:1fr;gap:38px;padding-top:64px;padding-bottom:70px}.look-editorial h2{grid-column:1;grid-row:1;font-size:clamp(36px,9.8vw,57px);line-height:1.12}.look-editorial-copy{grid-column:1;grid-row:2;padding-top:0}.look-editorial h3{font-size:25px;margin-bottom:20px}.look-editorial p{font-size:15px;line-height:1.8;max-width:none}.look-editorial a{font-size:13px;margin-top:26px}}
@media(prefers-reduced-motion:reduce){.look-editorial a svg{transition:none}}

/* A restrained project index, sticky only within the five-reference story. */
.look-index{position:sticky;top:var(--look-header-height,124px);z-index:20;width:min(1240px,100%);margin:0 auto 24px;padding:0 12px;background:#f7f7f2f2;backdrop-filter:blur(18px);border:0;border-bottom:1px solid #ced5c6}
.look-index ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:25px;list-style:none;margin:0;padding:0}
.look-index li{min-width:0;margin:0;padding:0}
.look-jump{display:flex;align-items:center;justify-content:center;gap:12px;position:relative;min-height:68px;padding:12px 0;color:#738168;text-decoration:none;transition:color .2s;white-space:nowrap}
.look-number{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.look-name{font-size:11px;font-weight:500;letter-spacing:.035em}
.look-jump::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#193e31;transform:scaleX(0);transform-origin:center;transition:transform .25s}
.look-jump[aria-current],.look-jump:hover{color:#193e31}
.look-jump[aria-current]::after{transform:scaleX(1)}
@media(max-width:1000px){.look-index ol{gap:12px}.look-jump{gap:8px}.look-name{font-size:10px}}
@media(max-width:760px){.look-index{padding:0 2px;margin-bottom:14px}.look-index ol{gap:4px}.look-jump{flex-direction:column;gap:5px;min-height:65px;padding:12px 0}.look-number{font-size:14px}.look-name{font-size:8px;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.look-jump,.look-jump::after{transition:none}}

/* Short style names give each reference a clear, generous heading. */
.portfolio-card .portfolio-card-copy h2{font-size:clamp(48px,5.5vw,84px);line-height:1.04;letter-spacing:-.055em}
@media(max-width:1000px) and (min-width:761px){.portfolio-card .portfolio-card-copy h2{font-size:clamp(42px,5.3vw,53px)}}
@media(max-width:760px){.portfolio-card .portfolio-card-copy h2{font-size:clamp(44px,12vw,64px)}}

