:root{--purple:#230852;--navy:#1c1e54;--red:#ea3829;--red-deep:#a72a22;--turquoise:#00b3a6;--orange:#ff9b72;--green:#338b3b;--yellow:#ffd000;--pink:#f5a1ce;--lilac:#ac99f2;--ink:#230852;--white:#fff;--mist:#f6f4fa;--radius:24px;--max:1320px;--gutter:clamp(21px,4.3vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;min-width:320px;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}body.nav-open{overflow:hidden}img{max-width:100%;height:auto}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,.service-rail:focus-visible{outline:3px solid var(--turquoise);outline-offset:4px}.container{width:min(var(--max),calc(100% - 2*var(--gutter)));margin-inline:auto}.section{padding-block:clamp(46px,5.8vw,96px)}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:800;line-height:1.4;margin:0 0 14px}.eyebrow-light{color:#e7dcf4}.eyebrow b{color:var(--yellow);margin:0 4px}.yellow-period{color:var(--yellow)}em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-.025em}h1,h2,h3{line-height:1.05;letter-spacing:-.048em;margin:0}h1{font-size:clamp(42px,4.8vw,74px);font-weight:800;line-height:1.035;letter-spacing:-.056em}h2{font-size:clamp(32px,3.3vw,50px);font-weight:800}h3{font-size:clamp(22px,2vw,30px);font-weight:800}p{line-height:1.55}small{line-height:1.4}.button{min-height:45px;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;border-radius:50px;text-decoration:none;padding:12px 20px;font-weight:800;font-size:12px;white-space:nowrap;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button-light{background:#fff;color:var(--purple)}.button-purple{background:var(--purple);color:#fff}.button-outline-light{border:1px solid #eee5ff;background:transparent;color:#fff}.button-outline{border:1px solid var(--purple);background:#fff;color:var(--purple)}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:#fff;color:#000;padding:14px;text-decoration:none}.skip:focus{top:10px}
/* Header and nav */
.site-header{background:var(--purple);color:white;position:relative;z-index:10}.header-inner{height:79px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{flex:0 0 auto;display:flex;align-items:center}.brand img{width:clamp(155px,14.4vw,202px);height:auto;display:block}.nav{display:flex;align-items:center;gap:clamp(16px,2vw,30px)}.nav>a,.nav-dropdown>summary{font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}.nav>a:not(.mobile-cta):hover,.nav-dropdown>summary:hover{color:var(--yellow)}.nav-dropdown{position:relative}.nav-dropdown>summary{list-style:none;display:flex;align-items:center;gap:7px;cursor:pointer}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-panel{position:absolute;left:-25px;top:calc(100% + 20px);width:500px;background:#fff;border:1px solid #ece6f5;box-shadow:0 26px 60px #1803302f;border-radius:18px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:8px;color:var(--purple)}.nav-panel:before{content:'';position:absolute;height:30px;top:-25px;left:0;right:0}.nav-panel>a{padding:15px;border-radius:12px;text-decoration:none;display:grid;gap:3px;background:#f8f7fb}.nav-panel>a:hover{background:#e8e0fb}.nav-panel small{font-size:10px;color:#7659ae}.nav-panel strong{font-size:16px}.nav-panel span{font-size:12px}.nav-cta{font-size:11px;min-height:37px;padding:9px 14px}.menu-toggle,.mobile-cta{display:none}
/* Hero */
.hero{background:var(--purple);color:white;position:relative;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.07fr .93fr;gap:clamp(32px,4.1vw,68px);align-items:center;min-height:455px;padding-top:15px;padding-bottom:39px}.hero-copy{padding:26px 0;position:relative;z-index:1}.hero-copy h1{max-width:695px}.hero-lead{font-size:clamp(15px,1.3vw,18px);line-height:1.55;color:#f0e9f7;max-width:490px;margin:19px 0 24px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-visual{height:368px;position:relative;align-self:center}.hero-shape{position:absolute;border-radius:50%;aspect-ratio:1}.hero-shape-red{width:80%;background:var(--red);left:-19%;bottom:-26%}.hero-shape-turq{width:53%;background:var(--turquoise);right:-17%;bottom:-35%}.hero-image{position:absolute;inset:0 6% 0 9%;margin:0;border-radius:65px 65px 45px 45px;overflow:hidden;z-index:1;background:#aa8c7a}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:49% 42%;display:block}.hero-image figcaption{position:absolute;right:13px;bottom:10px;color:#fff;font-size:9px;padding:5px 8px;background:#230852ac;border-radius:8px}.yellow-orb{position:absolute;right:1%;top:-5%;width:41px;height:41px;border-radius:50%;background:var(--yellow);z-index:2}
/* Services */
.services{padding-top:35px;padding-bottom:22px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.section-heading h2{font-size:clamp(30px,2.7vw,40px)}.swipe-hint{display:none}.service-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.service-card{min-height:214px;padding:22px 22px 17px;border-radius:19px;position:relative;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px #23085219}.service-card h3{font-size:clamp(22px,2vw,29px);margin-bottom:7px;position:relative;z-index:1}.service-card p{font-size:13px;line-height:1.42;max-width:240px;min-height:50px;margin:0;padding-right:20px;position:relative;z-index:1}.service-top{height:56px;position:relative}.service-top svg{position:relative;z-index:1;width:39px;height:39px}.service-corner{position:absolute;top:-55px;right:-54px;width:135px;height:135px;background:currentColor;border-radius:50%;opacity:.94}.round-arrow{position:absolute;right:17px;bottom:17px;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:17px;background:#ffffff9c}.service-photo{background:#fff0f3;color:var(--red)}.service-photo h3,.service-photo p{color:var(--purple)}.service-branding{background:#e5faf8;color:var(--turquoise)}.service-branding h3,.service-branding p{color:var(--purple)}.service-digital{background:#fff2e3;color:#f6801e}.service-digital h3,.service-digital p{color:var(--purple)}.service-academy{background:#edf7e9;color:var(--green)}.service-academy h3,.service-academy p{color:var(--purple)}
/* Contentday feature */
.featured{padding-top:0;padding-bottom:42px}.feature-card{display:grid;grid-template-columns:39% 1fr auto;align-items:center;gap:clamp(17px,2.2vw,35px);padding:22px 28px;min-height:188px;background:#f2edf8;border-radius:20px;position:relative}.feature-images{display:grid;grid-template-columns:1.1fr .85fr .7fr;gap:8px;min-width:0}.feature-images img{height:130px;object-fit:cover;border-radius:12px;width:100%;min-width:0}.feature-copy h2{font-size:clamp(23px,2.15vw,32px);margin:0 0 7px;max-width:520px}.feature-copy .eyebrow{margin-bottom:7px}.feature-copy p:not(.eyebrow){font-size:13px;max-width:460px;margin:0}.feature-card>.button{align-self:end;margin-bottom:8px;z-index:2}.feature-doodle{position:absolute;color:var(--yellow);font-size:40px;right:45px;top:12px}
/* About */
.about{padding-top:34px;padding-bottom:46px}.about-grid{display:grid;grid-template-columns:.92fr 1.3fr .72fr;gap:clamp(20px,2.6vw,40px);align-items:center}.about-copy h2{font-size:clamp(30px,3vw,44px);margin-bottom:15px}.about-copy p:not(.eyebrow){font-size:13px;line-height:1.58;color:#514564;margin:0 0 17px}.about-copy .button{margin-top:5px}.about-art{min-height:260px;border-radius:24px;background:linear-gradient(120deg,#efe3ef,#a49de3);position:relative;overflow:hidden;padding:28px;display:flex;flex-direction:column;justify-content:end}.art-sun{position:absolute;width:140px;height:140px;background:var(--yellow);border-radius:50%;top:-60px;right:17%}.art-curve{position:absolute;width:86%;height:128%;border:52px solid #4a229a;border-radius:50%;left:42%;top:-4%;transform:rotate(-30deg);opacity:.9}.about-art-title{font-weight:800;font-size:clamp(28px,3.1vw,43px);line-height:1.05;position:relative;z-index:1}.about-art-title em{font-family:'Instrument Serif',Georgia,serif}.about-signature{position:relative;z-index:1;font-size:9px;font-weight:800;letter-spacing:.14em;margin-top:20px}.about-points{display:grid;gap:18px}.about-points>div{display:flex;align-items:start;gap:13px}.point-icon{font-size:28px;line-height:1;color:var(--purple);width:30px;flex:none}.about-points strong{font-size:13px}.about-points p{font-size:11px;line-height:1.45;margin:3px 0 0;color:#6a5c73}
/* Portfolio */
.work{padding-top:40px;padding-bottom:42px}.work-grid{display:grid;grid-template-columns:.9fr 1.15fr 1fr 1fr;gap:14px;align-items:stretch}.work-intro{padding:16px 12px 10px 0;display:flex;flex-direction:column;align-items:start}.work-intro h2{font-size:clamp(29px,2.7vw,40px);margin-bottom:12px}.work-intro p:not(.eyebrow){font-size:13px;color:#655b6d;margin:0 0 18px}.work-intro .button{margin-top:auto}.case{border-radius:17px;padding:17px;min-height:268px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:#fff}.case-category{font-size:9px;letter-spacing:.11em;font-weight:800;position:relative;z-index:1}.case-monogram{font-weight:800;letter-spacing:-.17em;line-height:1;position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(88px,10vw,155px);opacity:.67;transition:transform .3s}.case:hover .case-monogram{transform:scale(1.07) rotate(-3deg)}.case-monogram span{color:var(--yellow)}.case-serif{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-.1em}.case-foot{display:flex;align-items:end;justify-content:space-between;gap:10px;position:relative;z-index:1}.case-foot h3{font-size:clamp(21px,1.9vw,26px)}.case-foot p{font-size:10px;margin:4px 0 0}.case-arrow{width:30px;height:30px;flex:none;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:17px}.case-zeetjies{background:radial-gradient(circle at 70% 20%,#3f8d63,#143e29 62%)}.case-bespoke{background:linear-gradient(130deg,#d9ad66,#865b44);color:#fff}.case-galerij{background:radial-gradient(circle at 25% 35%,#8570df,#2a1759 75%)}.more-work{text-align:right;margin:16px 0 0;font-size:12px;color:#5c5167}.more-work a{font-weight:700;text-underline-offset:4px}.more-work span{margin-inline:7px}
/* Manifest */
.manifest{background:var(--purple);color:#fff;padding-block:35px}.manifest-grid{display:grid;grid-template-columns:1fr 1px 1fr 48px;gap:clamp(25px,4vw,65px);align-items:center}.manifest h2{font-size:clamp(30px,3vw,45px)}.manifest-divider{height:90px;background:#ffffff5c}.manifest-grid>p{font-size:14px;line-height:1.6;color:#eee5f4;margin:0}.manifest-mark{font-size:48px;color:var(--yellow)}
/* Process */
.process{padding-top:45px;padding-bottom:46px}.process-grid{display:grid;grid-template-columns:1fr 2.35fr;align-items:start;gap:40px}.process h2{font-size:clamp(29px,2.9vw,41px)}.process-intro p:not(.eyebrow){font-size:13px;margin:10px 0 0}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;list-style:none;padding:10px 0 0;margin:0}.steps li{position:relative}.steps li:not(:last-child):after{content:'→';position:absolute;right:-17px;top:11px;font-size:22px;color:var(--purple)}.step-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:13px;margin-bottom:11px}.step-one{background:var(--purple)}.step-two{background:var(--turquoise);color:var(--purple)}.step-three{background:var(--orange);color:var(--purple)}.steps h3{font-size:19px;margin-bottom:4px}.steps p{font-size:12px;margin:0}
/* Academy */
.academy{padding-top:12px;padding-bottom:28px}.academy-card{min-height:157px;border-radius:21px;background:#e3f4ec;display:grid;grid-template-columns:33% 1fr auto;align-items:center;gap:clamp(18px,3vw,46px);padding:12px 28px 12px 14px;overflow:hidden}.academy-image{height:133px;border-radius:13px;overflow:hidden;background:#ddd;position:relative}.academy-image img{width:100%;height:100%;object-fit:cover;object-position:center}.academy-image span{position:absolute;left:12px;bottom:9px;color:white;background:#230852b8;padding:4px 7px;font-size:9px;letter-spacing:.12em;font-weight:800;border-radius:6px}.academy-copy h2{font-size:clamp(22px,2.1vw,31px);margin-bottom:7px}.academy-copy .eyebrow{margin-bottom:6px}.academy-copy p:not(.eyebrow){font-size:13px;margin:0;max-width:510px}.academy-card .button{align-self:end;margin-bottom:16px}
/* Trust and contact */
.trust{padding-block:29px 43px}.trust-inner{text-align:center}.trust h2{font-size:clamp(24px,2.4vw,32px);margin-bottom:23px}.trust-names{display:flex;gap:clamp(23px,3.3vw,55px);justify-content:center;align-items:center;flex-wrap:wrap;font-weight:800;font-size:clamp(12px,1.4vw,18px);letter-spacing:-.03em;color:#3c2e52}.contact{padding-top:12px;padding-bottom:24px}.contact-card{background:var(--purple);border-radius:21px;color:#fff;padding:29px 36px;min-height:143px;display:grid;grid-template-columns:1.25fr .8fr auto;align-items:center;gap:clamp(22px,3vw,48px);position:relative;overflow:hidden}.contact-card:before{content:'';position:absolute;width:145px;height:145px;background:var(--turquoise);border-radius:50%;left:-95px;bottom:-100px}.contact-card:after{content:'';position:absolute;width:150px;height:150px;background:var(--red);border-radius:50%;right:-103px;bottom:-104px}.contact-card h2{font-size:clamp(28px,3.1vw,43px)}.contact-card>p{font-size:13px;line-height:1.6}.contact-card>*{position:relative;z-index:1}.footer{background:var(--purple);color:#fff}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:84px}.footer img{width:142px;height:auto}.footer p{font-size:12px;margin:0;color:#ded3f3}
/* responsive */
@media(max-width:1180px){.nav{gap:14px}.nav-cta{display:none}.hero-layout{grid-template-columns:1.08fr .92fr}.hero h1{font-size:clamp(40px,4.6vw,60px)}.feature-card{grid-template-columns:35% 1fr}.feature-card>.button{grid-column:2;justify-self:start;margin:0}.feature-doodle{right:25px}.service-card{padding:18px}.about-grid{grid-template-columns:1fr 1.1fr}.about-points{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);padding-top:5px}.work-grid{grid-template-columns:.8fr repeat(3,1fr)}.case{padding:14px}.academy-card{grid-template-columns:27% 1fr}.academy-card>.button{grid-column:2;justify-self:start;margin:0 0 14px}}
@media(max-width:900px){.header-inner{height:69px}.brand img{width:160px}.menu-toggle{display:flex;gap:10px;align-items:center;justify-content:center;color:#fff;background:transparent;border:1px solid #ffffffa6;border-radius:50px;padding:9px 15px;font-size:13px;font-weight:700;cursor:pointer}.nav{display:none;position:absolute;top:69px;left:0;right:0;min-height:calc(100dvh - 69px);padding:17px var(--gutter) 40px;background:var(--purple);flex-direction:column;gap:0;align-items:stretch;overflow-y:auto;max-height:calc(100dvh - 69px)}.nav.is-open{display:flex}.nav>a:not(.mobile-cta),.nav-dropdown>summary{padding:14px 0;font-size:22px;font-weight:700;display:flex;justify-content:space-between;border-bottom:1px solid #ffffff30}.nav-dropdown{position:static}.nav-dropdown>summary{list-style:none}.nav-panel{position:static;display:grid;grid-template-columns:1fr 1fr;width:auto;margin:10px 0;box-shadow:none;padding:10px}.mobile-cta{display:flex!important;margin-top:25px!important;background:#fff;color:var(--purple);border-radius:50px;padding:14px 20px!important;font-size:14px!important;justify-content:space-between}.hero-layout{grid-template-columns:1fr .85fr;gap:20px}.hero-visual{height:340px}.hero h1{font-size:clamp(41px,5.4vw,58px)}.hero-lead{font-size:15px}.service-rail{overflow-x:auto;grid-template-columns:repeat(4,minmax(223px,1fr));scroll-snap-type:x mandatory;padding-bottom:7px}.service-card{scroll-snap-align:start}.swipe-hint{display:block;font-size:12px;color:#5c5266}.about-grid{gap:20px}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work-intro{grid-column:1/-1;max-width:660px}.work-intro .button{margin-top:0}.work-intro h2{max-width:650px}.case{min-height:270px}.manifest-grid{grid-template-columns:1fr 1px 1fr}.manifest-mark{display:none}.contact-card{grid-template-columns:1fr 1fr}.contact-card .button{grid-column:2;justify-self:start}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.section{padding-block:46px}.hero-layout{grid-template-columns:1fr;gap:20px;padding-top:26px;padding-bottom:40px}.hero-copy{max-width:600px}.hero-copy h1{font-size:clamp(42px,8.2vw,59px)}.hero-visual{height:min(78vw,425px);max-width:520px;width:100%;margin-inline:auto}.hero-image{inset:2% 6% 2% 7%;border-radius:43px 43px 28px 28px}.hero-shape-red{left:-6%;bottom:-15%;width:70%}.hero-shape-turq{right:-8%;bottom:-21%}.yellow-orb{top:0;right:1%;width:33px;height:33px}.hero-image figcaption{font-size:8px}.services{padding-top:30px;padding-bottom:25px}.services-heading h2{font-size:31px}.service-rail{grid-template-columns:repeat(4,minmax(75vw,1fr));margin-right:-20px;padding-right:20px}.service-card{min-height:220px}.feature-card{grid-template-columns:1fr;padding:17px;gap:15px}.feature-images{grid-template-columns:1.05fr .85fr .75fr}.feature-images img{height:120px}.feature-copy h2{font-size:28px}.feature-card>.button{grid-column:auto}.feature-doodle{right:12px;top:9px;font-size:24px}.featured{padding-top:0}.about-grid{grid-template-columns:1fr;gap:24px}.about-art{min-height:270px}.about-points{grid-column:auto;grid-template-columns:1fr 1fr;gap:20px}.work{padding-top:25px}.work-grid{grid-template-columns:1fr 1fr}.work-intro{grid-column:1/-1}.work-intro h2{font-size:37px}.case{min-height:280px}.case:last-child{grid-column:1/-1;min-height:220px}.case-monogram{font-size:130px}.more-work{text-align:left}.manifest-grid{grid-template-columns:1fr;gap:16px}.manifest-divider{width:65px;height:1px}.process-grid{grid-template-columns:1fr;gap:22px}.steps{gap:18px}.academy-card{grid-template-columns:1fr;padding:14px 18px 20px;gap:16px}.academy-image{height:180px}.academy-card>.button{grid-column:auto;justify-self:start;margin:0}.contact-card{grid-template-columns:1fr;padding:28px;gap:13px}.contact-card .button{grid-column:auto;justify-self:start}.footer-inner{min-height:110px;flex-wrap:wrap;padding-block:20px}.footer-inner p{font-size:11px}}
@media(max-width:420px){.hero-copy h1{font-size:44px}.hero-actions{align-items:flex-start}.hero-actions .button{font-size:11px;padding:12px 15px}.hero-visual{height:290px}.service-rail{grid-template-columns:repeat(4,minmax(81vw,1fr))}.service-card{min-height:220px}.about-points{grid-template-columns:1fr}.work-grid{grid-template-columns:1fr}.case,.case:last-child{min-height:250px;grid-column:auto}.steps{grid-template-columns:1fr}.steps li:not(:last-child):after{display:none}.trust-names{gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-card,.case-monogram{transition:none}}
/* Studio Weeber | Fotografie & Zakelijk portret. Child page system v1 */
:root{--cream:#fff9f5;--blush:#ffecee;--sun:#ffd000;--lavender:#f1ecfa}
.page-photo,.page-portrait{color:var(--purple)}
.page-photo main,.page-portrait main{overflow:clip}
.page-photo .nav-panel,.page-portrait .nav-panel{grid-template-columns:repeat(2,minmax(0,1fr));width:min(540px,calc(100vw - 40px))}
.page-photo .nav-panel a,.page-portrait .nav-panel a{min-width:0}
.crumb{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:700;color:#67576f;min-height:22px;padding-top:21px}
.crumb a{text-decoration:none}.crumb a:hover{text-decoration:underline}.crumb span:last-child{opacity:.8}
.crumb-light{color:#e6d9f3}
.photo-hero{background:var(--cream);min-height:615px;position:relative;overflow:hidden}
.photo-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(24px,4vw,70px);align-items:center;min-height:575px;padding:30px 0 18px}
.photo-copy{align-self:center;padding-block:38px 50px;z-index:1}
.photo-copy h1{font-size:clamp(50px,5.25vw,82px);max-width:670px;line-height:1.035;letter-spacing:-.069em}
.photo-copy h1 em{color:var(--red-deep)}
.photo-copy .lead{font-size:clamp(16px,1.45vw,20px);line-height:1.6;max-width:555px;margin:25px 0 30px}
.photo-copy .hero-actions{gap:11px}
.photo-note{display:flex;gap:14px;align-items:center;margin-top:42px;font-size:12px;font-weight:700;line-height:1.5;color:#746479}
.small-star{font-size:33px;color:var(--red);line-height:1}
.photo-hero-art{height:505px;min-width:0;position:relative}
.photo-hero-pink{position:absolute;background:#ffd4dd;width:79%;height:79%;left:9%;top:6%;border-radius:50%;transform:rotate(-11deg)}
.photo-main{position:absolute;margin:0;inset:0 7% 11% 17%;border-radius:115px 115px 32px 32px;overflow:hidden;transform:rotate(2deg);box-shadow:0 16px 45px #691f3e17;background:#eed1c7}
.photo-main img{width:100%;height:100%;object-fit:cover;object-position:45% 48%;display:block}
.photo-inset{position:absolute;inset:auto auto 1% 0;width:38%;height:31%;margin:0;border:7px solid var(--cream);border-radius:22px;overflow:hidden;box-shadow:0 15px 35px #23085218;transform:rotate(-6deg)}
.photo-inset img{width:100%;height:100%;object-fit:cover;display:block}
.photo-orb{position:absolute;right:0;top:-6%;height:59px;width:59px;background:var(--yellow);font-size:0;border-radius:50%}
.photo-signature{position:absolute;right:1%;bottom:3%;font-size:12px;font-weight:800;line-height:1.2;transform:rotate(7deg);letter-spacing:.04em}
.photo-signature em{font-size:23px}
.visual-disclaimer{font-size:10px;color:#726979;margin:0 0 15px;line-height:1.4}
.photo-marquee{background:var(--red);color:#fff;padding-block:18px}
.photo-marquee .container{display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:clamp(10px,1.4vw,16px);letter-spacing:.11em;font-weight:800}
.photo-marquee i{color:var(--yellow);font-style:normal;font-size:21px}
.photo-section-heading{align-items:end}
.photo-section-heading>p,.photo-gallery-top>p,.photo-steps .section-heading>p{max-width:340px;font-size:15px;color:#6e6374;line-height:1.5}
.photo-section-heading h2,.photo-gallery h2,.photo-steps h2{font-size:clamp(42px,4vw,62px)}
.photo-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.photo-product{min-width:0;min-height:450px;padding:20px;border-radius:24px;text-decoration:none;color:var(--purple);display:flex;flex-direction:column;gap:17px;transition:transform .2s,box-shadow .2s;overflow:hidden}
.photo-product:hover{transform:translateY(-4px);box-shadow:0 20px 50px #25104216}
.photo-product-portrait{background:#ffecee}.photo-product-brand{background:#e3f9f6}.photo-product-day{background:#fff1df}
.product-no{font-size:10px;letter-spacing:.16em;font-weight:800}
.product-preview{height:250px;position:relative;border-radius:16px;overflow:hidden;background:#e6d9d2}
.product-preview img{display:block;width:100%;height:100%;object-fit:cover}
.photo-product-portrait .product-preview img{object-position:center 38%}
.photo-product-brand .product-preview img{object-position:center 38%}
.photo-product-day .product-preview img{object-position:center 30%}
.floating-label{position:absolute;bottom:11px;left:12px;background:#ffffffeb;color:var(--purple);padding:8px 11px;font-size:12px;font-weight:800;border-radius:40px}
.photo-product-bottom{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:auto}
.photo-product-bottom h3{font-size:clamp(24px,2.25vw,33px);margin:0 0 6px}
.photo-product-bottom p{font-size:13px;margin:0;line-height:1.5;max-width:250px}
.circle-arrow{display:grid;place-items:center;border:1px solid var(--purple);border-radius:50%;width:36px;height:36px;flex:none;font-size:21px}
.photo-belief{background:#f8f5fb}
.photo-belief-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(45px,8vw,125px);align-items:center}
.photo-belief-grid h2{font-size:clamp(40px,4.1vw,62px);max-width:630px;margin-bottom:24px}
.photo-belief-grid p:not(.eyebrow){font-size:16px;line-height:1.7;max-width:585px;color:#5b5068}
.belief-visual{min-height:480px;position:relative;padding:25px 44px 25px 0;display:flex;align-items:center}
.belief-visual:before{content:'';position:absolute;width:81%;height:80%;background:#ffc1cb;border-radius:42% 40% 22% 31%;inset:9% auto auto 9%;transform:rotate(-9deg)}
.belief-visual-card{position:relative;width:93%;height:420px;border-radius:30px;overflow:hidden;transform:rotate(2deg);box-shadow:0 25px 50px #3d215025}
.belief-visual-card img{width:100%;height:100%;object-fit:cover}
.belief-squiggle{position:absolute;top:1%;right:6%;font-size:75px;color:var(--red);transform:rotate(8deg)}
.belief-label{font-size:11px;position:absolute;right:0;bottom:0;color:#473856;font-weight:800;letter-spacing:.15em;transform:rotate(5deg)}
.text-action{display:inline-flex;gap:30px;align-items:center;font-size:14px;text-decoration:none;border-bottom:1px solid var(--purple);font-weight:800;padding:13px 0;margin-top:10px}
.photo-gallery-top{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}
.photo-gallery-top>p{max-width:340px;margin-bottom:5px}
.photo-mosaic{display:grid;grid-template-columns:1.18fr .82fr 1fr;grid-template-rows:230px 185px;gap:15px}
.photo-mosaic figure{margin:0;border-radius:22px;overflow:hidden;min-height:0;position:relative}
.photo-mosaic img{width:100%;height:100%;object-fit:cover;display:block}
.mosaic-a{grid-row:span 2}.mosaic-a img{object-position:center 40%}
.mosaic-b{grid-column:2}.mosaic-c{grid-column:3;grid-row:span 2}.mosaic-d{grid-column:2;grid-row:2;background:var(--red);color:#fff}
.mosaic-d>div{width:100%;height:100%;padding:22px;display:flex;flex-direction:column;justify-content:space-between}
.mosaic-d span{font-size:clamp(21px,2.6vw,35px);font-weight:800;line-height:1.04;letter-spacing:-.04em}
.mosaic-d span em{color:var(--yellow)}.mosaic-d i{align-self:end;color:var(--yellow);font-style:normal;font-size:35px}
.photo-gallery .visual-disclaimer{margin-top:18px}
.photo-steps{background:#f2effa}
.photo-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;gap:17px;padding:0;margin:30px 0 0}
.photo-process li{padding:29px;border-radius:21px;background:white;min-height:205px}
.photo-process li span{display:grid;place-items:center;background:var(--purple);color:white;width:39px;height:39px;border-radius:50%;font-size:11px;font-weight:800;margin-bottom:25px}
.photo-process li:nth-child(2) span{background:var(--red)}.photo-process li:nth-child(3) span{background:var(--turquoise);color:var(--purple)}
.photo-process h3{font-size:25px;margin-bottom:8px}.photo-process p{font-size:13px;color:#655970;max-width:295px;margin:0}
.faq-layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:clamp(40px,9vw,140px);align-items:start}
.faq-layout h2{font-size:clamp(40px,4vw,61px)}.faq-layout>div>p:not(.eyebrow){max-width:340px;font-size:16px;color:#71667b}
.faq-list{border-top:1px solid #c8c1d1}
.faq-list details{border-bottom:1px solid #c8c1d1;padding:18px 0}
.faq-list summary{font-weight:800;font-size:16px;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:25px;font-weight:400;color:var(--red);transition:transform .18s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{color:#665974;font-size:14px;max-width:610px;line-height:1.65;margin-bottom:0}
.photo-final{padding-top:10px;padding-bottom:45px}
.photo-final-card{position:relative;overflow:hidden;border-radius:25px;background:var(--red);color:#fff;padding:clamp(30px,4vw,54px);display:flex;align-items:end;justify-content:space-between;gap:30px}
.photo-final-card h2{font-size:clamp(38px,4.2vw,65px);max-width:800px;margin-bottom:12px}
.photo-final-card p:not(.eyebrow){font-size:15px;max-width:580px;margin:0;color:#fff4f1}
.photo-final-card .button{flex:none;z-index:2}
.photo-final-dot{position:absolute;width:180px;height:180px;border-radius:50%;right:-110px;top:-100px;background:var(--yellow)}
/* Portrait subpage: darker, editorial and highly personal */
.portrait-hero{background:var(--purple);color:#fff;min-height:640px;overflow:hidden}
.portrait-hero-grid{display:grid;grid-template-columns:1fr .88fr;gap:clamp(35px,6vw,105px);align-items:center;min-height:570px;padding:25px 0 55px}
.portrait-head h1{font-size:clamp(48px,5.4vw,82px);line-height:1.045;max-width:740px;letter-spacing:-.063em}
.portrait-head h1 em{color:#ffdbe0}
.portrait-head>p:not(.eyebrow){font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:#e6dcf0;max-width:530px;margin:24px 0}
.portrait-tagline{display:flex;gap:17px;align-items:center;margin-top:57px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.15em}
.portrait-tagline span:nth-child(2){color:var(--yellow);font-size:30px}
.portrait-hero-art{height:535px;position:relative;min-width:0}
.portrait-backdrop{position:absolute;border-radius:50%;width:91%;height:88%;left:-9%;top:6%;background:var(--turquoise)}
.portrait-frame{position:absolute;inset:3% 8% 7% 12%;margin:0;border-radius:47% 47% 28px 28px;overflow:hidden;background:#dec8b7;box-shadow:20px 25px 65px #0b0321aa}
.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:48% 37%;filter:saturate(.85)}
.portrait-frame figcaption{position:absolute;right:12px;bottom:10px;color:#fff;background:#230852a8;border-radius:5px;font-size:9px;padding:4px 9px}
.portrait-stamp{position:absolute;left:-9%;bottom:3%;border-radius:50%;background:var(--yellow);color:var(--purple);width:110px;height:110px;display:grid;place-items:center;text-align:center;line-height:1.2;font-size:14px;font-weight:800;transform:rotate(-14deg)}
.portrait-script{position:absolute;right:-2%;top:0;transform:rotate(13deg);font-size:27px;font-weight:800;letter-spacing:-.05em;line-height:.7;text-align:center}
.portrait-script em{font-size:38px;color:var(--yellow)}
.portrait-strip{background:#d9f4ee;color:var(--purple);padding-block:15px}
.portrait-strip .container{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:clamp(10px,1.2vw,15px);letter-spacing:.1em;font-weight:800}
.portrait-strip b{color:var(--turquoise);font-size:25px}
.portrait-intro{text-align:center;max-width:790px;margin:0 auto 34px}
.portrait-intro h2{font-size:clamp(43px,4.5vw,68px)}
.portrait-intro>p:not(.eyebrow){font-size:17px;color:#65566f;max-width:680px;margin:0 auto}
.benefit-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.benefit-card{background:#f5f2fa;border-radius:23px;padding:27px 28px 30px;min-height:220px}
.benefit-card:nth-child(2){background:#e2f6f1}.benefit-card:nth-child(3){background:#fff0e8}
.benefit-card>span{font-size:37px;color:var(--turquoise);display:block;margin-bottom:25px;line-height:1}
.benefit-card h3{font-size:26px;margin-bottom:9px}
.benefit-card p{font-size:14px;line-height:1.55;color:#655b6d;margin:0}
.portrait-types{background:#fbf8f3}
.portrait-types-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:34px}
.portrait-types-head h2{font-size:clamp(38px,4.1vw,65px)}.portrait-types-head>p{max-width:340px;color:#655c6b;font-size:16px}
.portrait-types-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.portrait-type{min-width:0;border-radius:23px;overflow:hidden;display:flex;flex-direction:column;min-height:470px;background:#e6f4ef}
.portrait-type.type-team{background:#ffdfdb}.portrait-type.type-personal{background:#e7def6}
.type-text{padding:23px 23px 18px;min-height:213px}
.type-text small{font-weight:800;letter-spacing:.14em;font-size:10px}.type-text h3{font-size:clamp(26px,2.6vw,37px);line-height:1.1;margin:22px 0 10px;max-width:330px}
.type-text p{font-size:14px;color:#66576c;margin:0;line-height:1.5}
.type-visual{height:255px;margin-top:auto;overflow:hidden}
.type-visual img{width:100%;height:100%;object-fit:cover;display:block}
.type-solo .type-visual img{object-position:center 32%}.type-team .type-visual img{object-position:center 40%}
.portrait-types .visual-disclaimer{margin-top:16px}
.portrait-experience-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(35px,8vw,130px);align-items:center}
.portrait-experience-grid h2{font-size:clamp(41px,4.5vw,68px);max-width:680px}
.portrait-experience-grid>div:first-child>p:not(.eyebrow){font-size:17px;color:#66576b;max-width:550px;line-height:1.7}
.portait-checks{margin:25px 0 28px}
.portait-checks p{font-size:14px;font-weight:700;margin:13px 0;display:flex;gap:12px;align-items:center}
.portait-checks span{width:25px;height:25px;border-radius:50%;flex:none;display:grid;place-items:center;background:#e2f7f3;color:#068b7f;font-weight:800}
.portrait-experience-art{min-height:500px;position:relative}
.portrait-experience-art:before{content:'';position:absolute;width:84%;aspect-ratio:1;border-radius:50%;background:#e7f7f4;left:5%;top:10%}
.experience-image{position:absolute;inset:1% 8% 17% 17%;border-radius:190px 190px 25px 25px;overflow:hidden;transform:rotate(-3deg);background:#e3d0c1}
.experience-image img{width:100%;height:100%;object-fit:cover;object-position:57% 28%}
.experience-quote{position:absolute;left:-8%;right:12%;bottom:0;background:var(--purple);color:white;padding:23px 27px;border-radius:20px;font-size:clamp(22px,2vw,31px);font-weight:800;line-height:1.15;letter-spacing:-.04em;transform:rotate(2deg)}
.experience-quote em{color:var(--yellow);font-size:1.15em}
.experience-sun{position:absolute;width:60px;height:60px;background:var(--yellow);border-radius:50%;top:0;right:0}
.portrait-process{background:#e8f7f4}
.portrait-process-head{text-align:center;margin-bottom:28px}.portrait-process-head h2{font-size:clamp(40px,4.5vw,65px)}
.portrait-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.portrait-step-grid li{background:white;border-radius:23px;min-height:220px;padding:30px}
.portrait-step-grid li>span{font-size:37px;line-height:1;font-weight:800;display:block;color:var(--turquoise);margin-bottom:25px}
.portrait-step-grid li:nth-child(2)>span{color:var(--red)}.portrait-step-grid li:nth-child(3)>span{color:var(--purple)}
.portrait-step-grid h3{font-size:25px;margin-bottom:8px}.portrait-step-grid p{font-size:14px;color:#62566e;margin:0}
.portrait-faq{background:#fff}
.portrait-next{padding-top:10px;padding-bottom:48px}
.portrait-next-card{display:flex;justify-content:space-between;align-items:end;gap:35px;background:var(--purple);color:white;border-radius:26px;padding:clamp(30px,5vw,67px);min-height:250px;position:relative;overflow:hidden}
.portrait-next-card h2{font-size:clamp(43px,4.7vw,67px);max-width:750px;margin-bottom:10px}.portrait-next-card p:not(.eyebrow){max-width:530px;margin:0;font-size:15px}
.portrait-next-actions{flex:none;display:flex;flex-direction:column;gap:19px;align-items:flex-start;z-index:2}.portrait-next-actions>a:nth-child(2){font-size:13px;color:#e6def2}
.portrait-next-circle{position:absolute;width:250px;height:250px;right:-145px;bottom:-150px;background:var(--turquoise);border-radius:50%}
@media(max-width:1050px){.photo-copy h1,.portrait-head h1{font-size:clamp(47px,5.4vw,68px)}.photo-hero-art,.portrait-hero-art{height:430px}.photo-main{inset:0 3% 12% 10%}.photo-inset{width:38%}.portrait-hero-grid{gap:30px}.photo-product{padding:16px}.product-preview{height:210px}.type-text{min-height:230px}.portrait-type{min-height:440px}.type-visual{height:215px}}
@media(max-width:900px){.photo-hero-grid{min-height:440px}.photo-hero-art{height:365px}.photo-copy h1{font-size:clamp(44px,5.8vw,61px)}.photo-copy .lead{font-size:16px}.photo-note{margin-top:24px}.photo-product{min-height:430px}.product-preview{height:205px}.photo-belief-grid{gap:30px}.belief-visual{min-height:400px;padding-right:22px}.belief-visual-card{height:340px}.portrait-hero-grid{min-height:480px}.portrait-head h1{font-size:clamp(42px,6vw,61px)}.portrait-hero-art{height:390px}.portrait-tagline{margin-top:30px}.portrait-stamp{width:80px;height:80px;font-size:10px}.portrait-type .type-text h3{font-size:27px}.portrait-experience-grid{gap:38px}.portrait-experience-art{min-height:400px}.experience-image{inset:4% 10% 13% 14%}}
@media(max-width:700px){.crumb{padding-top:16px}.photo-hero-grid,.portrait-hero-grid{grid-template-columns:1fr;gap:5px}.photo-hero-grid{padding:18px 0 8px}.photo-copy{padding:20px 0 16px}.photo-copy h1{font-size:clamp(47px,9vw,67px)}.photo-copy .lead{margin:15px 0 23px}.photo-copy .hero-actions,.portrait-head .hero-actions{gap:10px}.photo-hero-art{width:min(100%,520px);height:380px;margin:0 auto 20px}.photo-main{inset:1% 6% 12% 12%}.photo-inset{width:36%}.photo-orb{height:38px;width:38px}.photo-note{display:none}.photo-signature{right:1%;bottom:0}.photo-section-heading,.photo-gallery-top,.portrait-types-head{display:block}.photo-section-heading>p,.photo-gallery-top>p,.portrait-types-head>p{max-width:550px;margin-top:20px}.photo-marquee .container{justify-content:center;flex-wrap:wrap;column-gap:15px;row-gap:7px}.photo-marquee .container span{font-size:10px}.photo-service-grid{grid-template-columns:1fr;gap:13px}.photo-product{min-height:auto;padding:16px;gap:13px}.product-preview{height:290px}.photo-product-bottom{min-height:80px}.photo-belief-grid{grid-template-columns:1fr;gap:30px}.belief-visual{min-height:350px;width:min(100%,550px);margin-inline:auto;padding:18px 25px 14px}.belief-visual-card{height:320px;width:93%}.belief-squiggle{font-size:50px}.photo-belief-grid h2{font-size:clamp(41px,8vw,60px)}.photo-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:250px 170px 230px}.mosaic-a{grid-column:1;grid-row:1/span 2}.mosaic-b{grid-column:2;grid-row:1}.mosaic-c{grid-column:1 / -1;grid-row:3}.mosaic-d{grid-column:2;grid-row:2}.photo-process{grid-template-columns:1fr;gap:12px}.photo-process li{min-height:auto;padding:24px}.photo-process li span{margin-bottom:15px}.faq-layout{grid-template-columns:1fr;gap:26px}.photo-final-card{flex-direction:column;align-items:flex-start}.portrait-hero-grid{padding:23px 0 55px}.portrait-head h1{font-size:clamp(46px,9vw,68px)}.portrait-head>p:not(.eyebrow){font-size:16px}.portrait-tagline{margin-top:32px}.portrait-hero-art{height:430px;width:min(100%,515px);margin-inline:auto}.portrait-frame{inset:3% 11% 3% 12%}.portrait-stamp{left:0;bottom:0}.portrait-script{right:3%}.portrait-strip .container{justify-content:center;flex-wrap:wrap}.portrait-strip .container span{font-size:10px}.benefit-cards{grid-template-columns:1fr;gap:10px}.benefit-card{min-height:auto;padding:25px}.benefit-card>span{margin-bottom:12px}.portrait-types-grid{grid-template-columns:1fr;gap:13px}.portrait-type{min-height:auto}.type-text{min-height:auto}.type-text h3{margin:14px 0 10px}.type-visual{height:290px}.portrait-experience-grid{grid-template-columns:1fr;gap:35px}.portrait-experience-art{min-height:430px;width:min(100%,520px);margin:auto}.portrait-step-grid{grid-template-columns:1fr;gap:12px}.portrait-step-grid li{min-height:auto;padding:25px}.portrait-step-grid li>span{margin-bottom:14px}.portrait-next-card{flex-direction:column;align-items:flex-start}.portrait-next-actions{flex-direction:column}}
@media(max-width:420px){.photo-copy h1,.portrait-head h1{font-size:clamp(42px,11.4vw,52px)}.photo-hero-art{height:295px}.photo-inset{height:35%;border-width:5px}.photo-signature{font-size:9px}.photo-signature em{font-size:18px}.product-preview{height:245px}.belief-visual{min-height:300px}.belief-visual-card{height:280px}.photo-mosaic{grid-template-rows:200px 160px 185px;gap:10px}.mosaic-d span{font-size:21px}.photo-marquee .container span:last-child{display:none}.portrait-hero-art{height:315px}.portrait-stamp{width:72px;height:72px}.portrait-script{font-size:18px}.portrait-script em{font-size:30px}.portrait-tagline{font-size:9px;gap:9px}.portrait-type .type-visual{height:230px}.portrait-experience-art{min-height:340px}.experience-quote{left:0;font-size:23px;right:3%;padding:16px 20px}.experience-sun{width:42px;height:42px}}
