/* A personal cover and an Aveiro photograph revealed through a ceramic surface. */
.masthead .wordmark{font-size:18px;letter-spacing:-.8px;font-weight:650;white-space:nowrap}.masthead{height:92px}.masthead nav{gap:30px}.hero{padding-top:18px;padding-bottom:0;overflow:hidden}.hero-meta{padding-bottom:18px;font-size:9px}.hero-bottom{grid-template-columns:1.3fr 1fr;gap:6%;padding-top:54px;align-items:start}.hero-copy{padding:0;position:relative;z-index:3}
.hero h1{display:block;font-size:clamp(72px,8.8vw,136px);font-weight:550;line-height:.98;letter-spacing:-.075em;text-transform:none;margin:0;width:100%;white-space:normal;word-spacing:normal}.hero h1 .headline-dot{font-family:inherit;font-weight:inherit;font-style:normal;color:var(--red);letter-spacing:inherit}.hero-afterthought{display:block;font-family:Georgia,'Times New Roman',serif;font-style:italic;color:var(--blue);font-size:.56em;letter-spacing:-.065em;line-height:1.14;margin-top:19px}.hero-intro{margin-top:33px;max-width:38ch;font-size:14px}.hero .round-link{margin-top:27px;font-size:11px}.hero .round-arrow{width:51px;height:51px}.hero .portrait{width:100%;padding:0 25px 0 0;margin-top:39px;perspective:1200px;isolation:isolate}.hero .portrait-image{height:clamp(390px,36vw,550px);rotate:3deg;box-shadow:0 20px 45px -28px #1c2c4766;transform-origin:50% 65%;will-change:transform}.hero .portrait-image img{object-position:50% 27%;transition:scale 650ms cubic-bezier(.2,.7,.2,1)}.portrait-backdrop{inset:-32px -4px 56px 45px;background:var(--blue) url('/assets/azulejo.svg') center/110px;rotate:-7deg;opacity:1;z-index:-1}.hero .portrait figcaption{padding-top:29px;font-size:9px}.portrait-side{position:absolute;right:-23px;top:38%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.hero-baseline{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:73px;padding-block:22px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.hero-baseline a{color:var(--ink)}.hero-baseline a span{margin-left:18px;font-size:16px}.businesses{border-top:0;padding-top:85px}
/* Scrollcraft publishes --sc-p; no custom wheel handling or extra pinning. */
.aveiro.voyage{--tile-phase:clamp(0,calc((var(--sc-p,1) - .02)*1.05),1);--open:1}.city-aperture{clip-path:none}.ceramic-screen{display:none}.is-cinematic .ceramic-screen{display:grid;position:absolute;inset:-1px;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(5,1fr);z-index:2;perspective:1200px;pointer-events:none;overflow:hidden;gap:1px}.ceramic-tile{--reveal:clamp(0,calc((var(--tile-phase) - var(--tile-delay))*3),1);background:var(--paper) url('/assets/azulejo.svg') center/100% 100%;border:1px solid #244fc11b;transform-origin:50% 0;transform:translateY(calc(var(--reveal)*-45%)) rotateX(calc(var(--reveal)*-85deg)) scale(calc(1 - var(--reveal)*.12));opacity:calc(1 - var(--reveal));will-change:transform,opacity;backface-visibility:hidden}.ceramic-tile:nth-child(3n){background-color:#e7e8df}.ceramic-tile:nth-child(4n){background-blend-mode:multiply}.city-heading{z-index:3;bottom:22%;transform:translateY(calc((1 - var(--tile-phase))*-12vh))}.city-heading h2{color:var(--paper);text-shadow:0 2px 22px #17304a22;font-size:clamp(100px,23vw,340px)}.is-cinematic .city-heading h2{color:color-mix(in srgb,var(--blue) calc((1 - var(--tile-phase))*100%),var(--paper))}.city-heading .eyebrow{background:var(--paper);padding:5px 9px;color:var(--blue)}.scene-corners{z-index:4;color:var(--blue);background:var(--paper);padding:4px 8px;width:max-content;right:auto}.scene-corners>span+span{margin-left:45px}.scene-bottom{z-index:4}.water-front{z-index:2;opacity:.12}.scene-border{display:none}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.hero .portrait:hover img{scale:1.045}}
@media(min-width:1700px){.hero h1{font-size:136px}}
@media(max-width:1100px){.hero-bottom{padding-top:44px;gap:5%;grid-template-columns:1.15fr 1fr}.hero h1{font-size:8.9vw}.hero .portrait{margin-top:25px;padding-right:20px}.hero .portrait-image{height:410px}.hero-intro{font-size:13px;margin-top:28px}.hero-baseline{margin-top:58px}.portrait-backdrop{inset:-20px 0 48px 35px;background-size:90px}.portrait-side{right:-15px;font-size:7px}.businesses{padding-top:65px}}
@media(max-width:760px){.masthead{height:78px}.masthead .wordmark{font-size:16px;letter-spacing:-.65px}.masthead nav{gap:17px;font-size:10px}.masthead .nav-contact{padding:9px 11px!important}.masthead nav a:nth-child(2){display:none}.hero{padding-top:12px;padding-bottom:0}.hero-meta{font-size:7px;padding-bottom:16px;align-items:center}.hero-meta p:first-child{max-width:none;font-size:7px}.hero-meta p:last-child{font-size:7px}.hero-bottom{display:flex;padding-top:32px;gap:0}.hero h1{font-size:18.4vw;line-height:1;letter-spacing:-.075em;margin:0;white-space:normal;display:block}.hero-afterthought{font-size:.58em;margin-top:14px}.hero-copy{width:100%;padding:0}.hero-intro,.hero-copy .hero-intro{font-size:12px;max-width:36ch;margin-top:25px}.hero .round-link{font-size:10px;margin-top:23px}.hero .round-arrow{width:43px;height:43px}.hero .portrait{width:76%;padding:0 12px 0 0;margin:48px 4px 0 auto}.hero .portrait-image{height:310px;rotate:3deg}.portrait-backdrop{inset:-20px 0 38px 25px;background-size:74px;rotate:-7deg}.hero .portrait figcaption{font-size:8px;padding-top:24px}.portrait-side{right:-14px;top:24%;font-size:6px}.hero-baseline{margin-top:37px;padding-block:19px;font-size:8px;gap:12px}.hero-baseline a span{margin-left:8px;font-size:13px}.businesses{padding-top:55px}.ceramic-screen{display:none!important}.city-heading{transform:none;bottom:24%}.city-heading h2{font-size:28vw}.scene-corners{color:var(--blue);font-size:7px}.scene-corners>span+span{margin-left:20px}}
@media(max-width:380px){.masthead .wordmark{font-size:15px}.masthead nav{gap:13px}.hero .portrait-image{height:280px}.hero h1{font-size:18.4vw}.hero-intro,.hero-copy .hero-intro{font-size:12px}.hero-baseline{font-size:7px}}
@media(prefers-reduced-motion:reduce){.ceramic-screen{display:none!important}.city-heading{transform:none}.hero .portrait-image{transform:none!important;will-change:auto}.hero .portrait-image img{transition:none}.portrait-backdrop{transform:none!important}.city-heading h2{color:var(--paper)}}

.hero h1 .hero-afterthought{color:var(--blue);font-weight:400}.hero .portrait{transform:perspective(1200px) rotateY(calc(var(--look-x,0)*3deg)) rotateX(calc(var(--look-y,0)*-2deg))}.hero .portrait-image{translate:calc(var(--look-x,0)*6px) calc(var(--look-y,0)*4px)}.portrait-backdrop{translate:calc(var(--look-x,0)*-8px) calc(var(--look-y,0)*-5px)}
@media(max-width:760px),(prefers-reduced-motion:reduce){.hero .portrait{transform:none}.hero .portrait-image,.portrait-backdrop{translate:none}}
/* Keep the tile faces solid while they lift, so the photograph never becomes a ghost image. */
.ceramic-tile{opacity:calc(1 - clamp(0,calc((var(--reveal) - .65)*2.858),1));box-shadow:0 8px 14px -10px #19314788}.city-heading{left:var(--gutter);right:auto;bottom:17%;text-align:left;transform:none}.city-heading .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:0;padding:10px 16px;background:var(--paper);color:var(--blue)}.city-heading h2,.is-cinematic .city-heading h2{font-size:clamp(80px,9vw,138px);line-height:1.12;padding:0 22px 10px 14px;background:var(--paper);color:var(--blue);text-shadow:none;width:max-content}.city-heading h2 span{color:var(--red)}
@media(max-width:760px){.city-heading{left:var(--gutter);bottom:19%;right:auto}.city-heading h2{font-size:22vw;padding:0 15px 7px 10px}.city-heading .eyebrow{font-size:6px;padding:8px 11px}}

.masthead .dnsh-mark{font-size:25px;font-weight:750;letter-spacing:-1.5px;display:flex;align-items:baseline;gap:0}.dnsh-mark small{font-size:9px;font-weight:450;letter-spacing:.015em;color:var(--muted);margin-left:13px}.footer .wordmark{font-size:25px;letter-spacing:-1.5px}
@media(max-width:760px){.masthead .dnsh-mark{font-size:23px}.dnsh-mark small{font-size:7px;margin-left:8px}.masthead nav{gap:14px}}

/* A clear reason to get in touch, with the conversation already started. */
.hero h1{font-size:clamp(64px,7.4vw,118px)}.hero h1 .hero-afterthought{font-size:.65em}.hero-intro{max-width:41ch;font-size:15px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:28px}.primary-contact,.whatsapp-action{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 22px;background:var(--blue);color:white;font-size:12px;font-weight:650;line-height:1.5;min-height:48px}.primary-contact:hover{background:var(--ink)}.primary-contact span,.whatsapp-action span{font-size:20px;font-weight:400;line-height:1}.hero-secondary{font-size:11px;border-bottom:1px solid var(--line);padding-block:8px}.hero-secondary span{margin-left:10px}.contact-reassurance{font-size:10px;color:var(--muted);margin-top:12px;line-height:1.7}.hero-baseline{margin-top:55px}.experience-ribbon{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:35px;border-top:1px solid var(--line);padding:30px 0 36px}.experience-ribbon p{font-size:12px;line-height:1.8;color:var(--muted)}.experience-ribbon strong{font-size:18px;font-weight:500;letter-spacing:-.035em;color:var(--ink)}.businesses{padding-top:65px}.help-topics{margin-top:28px;border-top:1px solid var(--line)}.help-topics p{font-size:13px;line-height:1.8;color:var(--muted);padding:18px 0;border-bottom:1px solid var(--line)}.help-topics strong{display:block;font-weight:600;color:var(--ink);font-size:15px;margin-bottom:5px}.contact{padding-block:85px 70px}.contact-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:10%;margin-top:45px;align-items:center}.contact h2{font-size:clamp(100px,12.8vw,190px);line-height:1;letter-spacing:-.075em;margin:0;padding:0;border:0}.contact h2>span{color:var(--red);font-size:inherit}.contact-invitation>p{font-size:21px;line-height:1.5;letter-spacing:-.035em;margin-top:24px}.contact-intents{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}.contact-intents legend{font-size:12px;margin-bottom:18px;color:var(--muted)}.contact-intents label{position:relative;cursor:pointer}.contact-intents input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.contact-intents label>span{display:block;padding:12px 16px;border:1px solid #242a2945;font-size:12px;line-height:1.5;transition:background 150ms,color 150ms}.contact-intents input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}.contact-intents input:focus-visible+span{outline:2px solid var(--blue);outline-offset:4px}.contact-intents label:hover>span{border-color:var(--blue)}.conversation-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.whatsapp-action{background:#205c40;color:white}.whatsapp-action:hover{background:#153e2b}.conversation-actions:has(.whatsapp-action:not([hidden])) #contact-email{background:none;border:1px solid var(--line);color:var(--ink)}.contact .contact-bottom{margin-top:55px;padding-top:25px;border-top:1px solid var(--line)}[hidden]{display:none!important}.contact-float{position:fixed;right:26px;bottom:25px;z-index:20;display:flex;align-items:center;gap:12px;background:var(--paper);color:var(--ink);padding:9px 18px 9px 9px;border:1px solid #242a2933;border-radius:100px;box-shadow:0 8px 24px -14px #183e4c66;font-size:11px;font-weight:600}.float-symbol{display:grid;place-items:center;width:33px;height:33px;background:var(--blue);color:white;border-radius:50%;font-size:20px;font-weight:400}.contact-float:hover{border-color:var(--blue)}.contact-float.is-whatsapp .float-symbol{background:#205c40}.footer{padding-bottom:90px}
@media(max-width:1100px){.hero h1{font-size:7.5vw}.hero-intro{font-size:13px}.hero-actions{gap:15px}.primary-contact,.whatsapp-action{font-size:11px;padding:13px 18px}.hero-secondary{font-size:10px}.experience-ribbon strong{font-size:16px}.contact-layout{gap:7%}.contact-intents label>span{font-size:11px;padding:11px 13px}}
@media(max-width:760px){.hero h1{font-size:15.8vw;line-height:1.04}.hero h1 .hero-afterthought{font-size:.68em;margin-top:16px}.hero-intro,.hero-copy .hero-intro{font-size:13px;max-width:38ch;line-height:1.8;margin-top:24px}.hero-actions{margin-top:24px;gap:20px}.hero-actions .primary-contact{font-size:11px;padding:12px 18px;gap:25px}.contact-reassurance{font-size:9px}.hero .portrait{margin-top:42px}.hero-baseline{margin-top:34px;font-size:7px}.hero-baseline>span{max-width:26ch}.experience-ribbon{grid-template-columns:1fr;gap:16px;padding-block:23px 27px}.experience-ribbon p{font-size:10px;display:flex;align-items:baseline;justify-content:space-between;gap:14px}.experience-ribbon br{display:none}.experience-ribbon strong{font-size:13px;text-align:right}.businesses{padding-top:45px}.help-topics p{font-size:12px;padding-block:16px}.help-topics strong{font-size:14px}.contact{padding-block:55px 45px}.contact-top{align-items:start}.contact-top>p:last-child{max-width:15ch;text-align:right;font-size:9px}.contact-layout{grid-template-columns:1fr;gap:35px;margin-top:30px}.contact h2{font-size:28vw;line-height:1}.contact h2>span{font-size:inherit}.contact-invitation>p{font-size:21px;margin-top:20px}.contact-intents legend{font-size:11px;margin-bottom:15px}.contact-intents{gap:9px}.contact-intents label>span{padding:11px 13px;font-size:11px}.conversation-actions{margin-top:22px;gap:10px}.conversation-actions .primary-contact,.whatsapp-action{font-size:11px;gap:15px;padding:13px 16px;min-height:46px}.contact .contact-bottom{margin-top:35px;padding-top:24px}.contact-float{right:15px;bottom:15px;font-size:10px;padding:7px 14px 7px 7px;gap:9px}.float-symbol{width:30px;height:30px;font-size:18px}.footer{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){.contact-intents label>span{transition:none}}

.masthead nav .nav-contact,.hero-whatsapp{background:#205c40;color:white}.masthead nav .nav-contact:hover,.hero-whatsapp:hover{background:#153e2b}.contact-float:focus-visible{outline-offset:4px}

.contact-intents,.contact-choice-hint{display:none}.has-js .contact-intents{display:flex}.has-js .contact-choice-hint{display:inline}

/* A lighter ceramic frame: the photograph is visible from the first moment. */
.aveiro.voyage{--tile-phase:clamp(0,calc(var(--sc-p,1)*1.4),1)}.is-cinematic .ceramic-screen{inset:-2px;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(4,1fr);gap:0}.ceramic-tile{grid-column:var(--tile-col);grid-row:var(--tile-row);--reveal:clamp(0,calc((var(--tile-phase) - var(--tile-delay))*2.2),1);margin:-1px;border:0;box-shadow:none;transform:translateY(calc(var(--reveal)*-30%)) rotateX(calc(var(--reveal)*-85deg));opacity:calc(1 - clamp(0,calc((var(--reveal) - .5)*2),1))}.ceramic-tile:nth-child(n){background-color:var(--paper);background-blend-mode:normal}
.hero .portrait figcaption{align-items:baseline}.hero .portrait figcaption .personal-greeting{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:var(--blue);font-size:21px;letter-spacing:-.04em}.life-copy>p+p:not(.eyebrow){margin-top:16px}.life .garden-drawing{width:115px;height:145px;right:-15px;bottom:-35px;rotate:8deg}.contact-float{transition:none}
@media(max-width:760px){.contact-float{width:48px;height:48px;padding:0;justify-content:center;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));border-color:#205c4033}.contact-float [data-float-label]{display:none}.contact-float .float-symbol{width:42px;height:42px}.contact-float .float-symbol svg{width:22px;height:22px}.hero .portrait figcaption .personal-greeting{font-size:18px}.life .garden-drawing{width:80px;height:105px;right:-5px;bottom:-42px}}

.contact-invitation .contact-welcome{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:var(--blue);font-size:18px;line-height:1.6;letter-spacing:-.025em;max-width:30ch;margin-top:20px}
.ceramic-tile{background-size:calc(100% + 8px) calc(100% + 8px);background-position:center}
.life .garden-drawing{position:static;display:block;margin:18px 0 -25px auto}
@media(max-width:760px){.contact-invitation .contact-welcome{font-size:17px;max-width:28ch;margin-top:18px}}

/* Aveiro is a working base, with a clear connection to the Netherlands. */
.city-heading .city-context{font-size:13px;line-height:1.65;background:var(--paper);color:var(--ink);max-width:33ch;padding:0 22px 17px 16px;margin-top:-1px}
.life{grid-template-columns:1.15fr 1fr;gap:55px 9%;padding-block:90px 55px;align-items:start}.life-heading>.eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:25px;color:var(--muted)}.life-heading h2{font-size:clamp(42px,4.4vw,66px);line-height:1.12;letter-spacing:-.055em}.life-heading h2 em{white-space:nowrap}.work-route{display:flex;align-items:center;gap:18px;max-width:320px;margin-top:45px;color:var(--blue)}.route-place{font-size:11px;font-weight:600}.route-place>span{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-top:5px}.route-line{height:1px;flex:1;background:var(--blue);position:relative;opacity:.5}.route-line:before,.route-line:after{content:'';position:absolute;top:-3px;width:7px;height:7px;border:1px solid var(--blue);border-radius:50%;background:var(--paper)}.route-line:before{left:0}.route-line:after{right:0}.life-copy{padding:34px 0 0}.life-copy>p:not(.eyebrow){max-width:42ch;margin-top:20px;font-size:14px;line-height:1.9}.life-copy>p.life-lead{font-size:21px;line-height:1.6;letter-spacing:-.025em;color:var(--ink);margin-top:0;max-width:34ch}.life-contact{display:inline-block;margin-top:25px;font-size:12px}.life-personal{grid-column:1/-1;border-top:1px solid var(--line);padding-top:25px;display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:baseline}.life-personal>.eyebrow{font-size:9px;letter-spacing:.08em;color:var(--muted)}.life-personal>p:last-child{font-size:12px;line-height:1.9;color:var(--muted);max-width:43ch}
@media(max-width:1100px){.life-heading h2{font-size:4.6vw}}
@media(max-width:760px){.city-heading .city-context{font-size:10px;max-width:29ch;padding:0 15px 12px 11px}.city-heading{bottom:22%}.scene-continue{font-size:9px;max-width:24ch}.life{display:grid;grid-template-columns:1fr;gap:30px;padding-block:55px 40px}.life-heading>.eyebrow{font-size:8px;margin-bottom:20px}.life-heading h2{font-size:clamp(31px,8.5vw,48px)}.work-route{margin-top:25px;max-width:260px}.life-copy{padding:0}.life-copy>p.life-lead{font-size:20px}.life-copy>p:not(.life-lead){font-size:13px}.life-personal{grid-template-columns:1fr;gap:12px;padding-top:20px}.life-personal>p:last-child{font-size:12px;max-width:none}}
