*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:#050505;color:#fff;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #00c7f3;outline-offset:7px}a:hover{color:#00c7f3}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.topbar{height:76px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #242424;background:#050505}.wordmark{font-size:19px;letter-spacing:.1em;font-weight:700;white-space:nowrap}.wordmark span{font-size:10px;vertical-align:top;margin-left:4px}nav{display:flex;gap:35px;font-size:14px}nav a:last-child span{padding-left:10px}.hero{position:relative;aspect-ratio:607/342;background:url('assets/reference.jpg') top center/100% auto no-repeat;overflow:hidden}.hero-name{position:absolute;left:27%;right:27%;top:76%;height:13%;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,transparent,#111d 15%,#111d 85%,transparent);backdrop-filter:blur(8px)}h1{font-size:clamp(24px,4.25vw,72px);font-weight:500;letter-spacing:.06em;margin:0;white-space:nowrap}.hero-explore{position:absolute;bottom:4%;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:.16em;text-transform:uppercase;display:flex;gap:25px;align-items:center}.hero-explore span{font-size:20px}.section-bar{display:flex;justify-content:space-between;padding:28px 4.5%;font-size:12px;letter-spacing:.16em;border-block:1px solid #292929;color:#bbb}.sector{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #242424}.sector-image{min-width:0;aspect-ratio:303.5/341.5;overflow:hidden;background-color:#151515}.sector-image img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1);transition:transform .8s}.sector-image:hover img{transform:scale(1.025)}.reference{background-image:url('assets/reference.jpg');background-size:200% auto;background-repeat:no-repeat}.fashion-image{background-position:0 20.04%}.tech-image{background-position:100% 40.04%}.sports-image{background-position:0 60.04%}.sector-copy{padding:clamp(28px,4.5vw,80px);display:flex;flex-direction:column;justify-content:space-between;gap:35px}.reverse .sector-image{grid-column:2;grid-row:1}.reverse .sector-copy{grid-column:1;grid-row:1}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.icon{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.section-top>span,.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.12em;color:#aaa}.section-top>span{text-align:right}h2{font-size:clamp(38px,4.6vw,76px);line-height:1.05;letter-spacing:-.045em;margin:0 0 25px;font-weight:500}.lead{font-size:clamp(19px,1.7vw,27px);line-height:1.4;color:#dedede;margin:0 0 20px}.draft{font-size:16px;line-height:1.8;color:#939393;max-width:440px;margin:0}.section-bottom{border-top:1px solid #292929;padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.section-bottom>span:first-child{font-size:11px;letter-spacing:.11em;color:#aaa;line-height:1.6}.draft-label{font-size:12px;color:#888;line-height:1.6}.categories{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.categories span{border:1px solid #343434;padding:9px 12px;font-size:14px;color:#d1d1d1}.story{display:grid;grid-template-columns:1fr 1fr;padding:100px 4.5%;border-bottom:1px solid #292929;gap:50px;align-items:center}.story-brand{display:flex;flex-direction:column;align-items:center;gap:35px}.story-brand>span{font-size:22px;letter-spacing:.14em}.brand-symbol{width:70px;height:68px;background:url('assets/reference.jpg') -131px -1739px/607px auto no-repeat;transform:scale(2);margin:45px}.story-copy .eyebrow{display:block;margin-bottom:24px}.story-copy .draft-label{display:block;margin-top:22px}.contact{padding:95px 9%;display:grid;grid-template-columns:1fr 1fr;gap:75px}.contact h2{margin-top:24px}.contact p{font-size:16px;color:#aaa;line-height:1.7}.contact-details{border-left:1px solid #292929;padding-left:60px}dl{margin-top:30px}dl>div{margin-bottom:24px}dt{font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}dd{font-size:18px;margin:0}.contact-note{font-size:14px!important}footer{border-top:1px solid #292929;padding:32px 4.5%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer>span,footer>a:last-child{font-size:12px;color:#999}footer .wordmark{font-size:14px}@media(min-width:1800px){main,.topbar,footer{max-width:1800px;margin-inline:auto}}@media(max-width:1000px){.sector-copy{padding:30px;gap:25px}.sector-image{aspect-ratio:auto;min-height:560px}.reference{background-size:auto 600%;background-position-x:center}.fashion-image{background-position-x:0}.tech-image{background-position-x:100%}.sports-image{background-position-x:0}.section-top>span{font-size:11px}.contact{padding:65px 5%;gap:40px}.contact-details{padding-left:35px}}@media(max-width:650px){html{scroll-padding-top:0}.topbar{height:66px;padding:0 5%}.wordmark{font-size:15px}nav{gap:18px;font-size:12px}nav a:first-child{display:none}.hero{aspect-ratio:607/400;background-size:117% auto;background-position:center top}.hero-name{left:16%;right:16%;top:76%;height:13%}h1{font-size:7vw}.hero-explore{font-size:10px;bottom:2%;gap:14px}.section-bar{padding:22px 5%;font-size:10px}.sector{display:flex;flex-direction:column}.sector-image{aspect-ratio:303.5/341.5;min-height:0;max-height:650px}.reference{background-size:200% auto}.sector-copy{padding:35px 7% 40px;min-height:440px;gap:35px}.section-top>span{font-size:12px}.icon{width:36px;height:36px}h2{font-size:47px}.lead{font-size:21px}.draft{font-size:16px}.story{grid-template-columns:1fr;padding:70px 7%;gap:70px}.story-brand{padding-top:15px}.story-copy h2{margin-top:20px}.contact{grid-template-columns:1fr;padding:60px 7%;gap:35px}.contact-details{border-left:0;border-top:1px solid #292929;padding:30px 0 0}footer{padding:30px 7%;flex-wrap:wrap}footer .wordmark{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sector-image img{transition:none}}
.review-note{padding:14px 4.5%;font-size:11px;letter-spacing:.1em;color:#65dbed;background:#0b1315;border-top:1px solid #183135}.review-note span{color:#aeb8ba;letter-spacing:0;margin-left:20px;font-size:13px}.roadmap{border-top:1px solid #292929;padding-top:18px;margin-top:5px}.roadmap>span{font-size:11px;letter-spacing:.12em;color:#999}.roadmap ol{display:flex;gap:20px;padding:0;list-style:none;counter-reset:steps;margin:15px 0 0}.roadmap li{flex:1;font-size:13px;line-height:1.5;color:#bcbcbc;counter-increment:steps}.roadmap li:before{content:'0' counter(steps);display:block;color:#64d9e9;font-size:11px;margin-bottom:5px}.consult-link{font-size:13px;color:#eee}.sector-copy{gap:26px}.sector-image{align-self:stretch;aspect-ratio:auto;min-height:620px}.reference{background-size:auto 600%}.fashion-image,.sports-image{background-position-x:0}.tech-image{background-position-x:100%}.draft{color:#aaa}svg.icon{pointer-events:none}@media(max-width:650px){.sector-image{aspect-ratio:303.5/341.5;min-height:0}.reference{background-size:200% auto}.review-note span{display:block;margin:6px 0 0}.sector-copy{gap:30px}}
/* Keep the requested alternating split layout at every screen width. */
.hero-name{background:none;backdrop-filter:none}.brand-symbol{mix-blend-mode:screen}.sector{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sector-image{position:relative;container-type:size;min-width:0;max-height:none}.reference{background:none}.reference:before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100cqw,88.87cqh);height:max(112.52cqw,100cqh);background-image:url('assets/reference.jpg');background-size:200% auto;background-repeat:no-repeat}.fashion-image:before{background-position:0 20.04%}.tech-image:before{background-position:100% 40.04%}.sports-image:before{background-position:0 60.04%}.hero-logo{position:absolute;left:50%;top:39%;transform:translate(-50%,-50%);width:70px;height:68px}.hero-logo .brand-symbol{margin:0;transform:scale(3.5);transform-origin:center}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0004,#0001 45%,#0009)}.hero-name{top:74%;left:10%;right:10%;text-shadow:0 2px 20px #0008}.hero h1{font-size:clamp(26px,4.4vw,76px)}.hero{background-size:cover;background-position:center}.hero-explore{bottom:6%}
@media(max-width:650px){.sector-copy{padding:25px 18px;gap:24px;min-width:0}.sector-image{aspect-ratio:auto;min-height:100%;align-self:stretch}.sector h2{font-size:clamp(26px,6vw,39px);overflow-wrap:anywhere;letter-spacing:-.04em;margin-bottom:20px}.sector .lead{font-size:18px}.sector .draft{font-size:16px;line-height:1.65}.section-top{align-items:flex-start;flex-direction:column;gap:14px}.section-top>span{text-align:left;font-size:11px}.roadmap ol{flex-direction:column;gap:14px}.roadmap li{font-size:14px}.section-bottom>span:first-child{font-size:10px}.categories{gap:6px}.categories span{font-size:13px;padding:7px 8px}.hero{aspect-ratio:607/400;background-size:cover}.hero-logo .brand-symbol{transform:scale(2.7)}.hero-name{top:75%}.hero h1{font-size:6.5vw}.hero-explore{bottom:6%}.story{grid-template-columns:1fr 1fr;gap:28px;padding:65px 6%}.story-brand>span{font-size:14px;white-space:nowrap}.story-copy h2{font-size:36px}.story-brand .brand-symbol{transform:scale(1.8);margin:25px}.story-copy .lead{font-size:19px}.story-copy .draft{font-size:16px}.story-copy .eyebrow{font-size:10px}}
.hero{background-image:url('assets/architecture.jpg')}
.hero-logo{mix-blend-mode:screen}.story-brand .brand-symbol{mix-blend-mode:screen}

/* Image panels: strict 50/50 split. Each photo is shown whole and fills its half
   exactly, so the row height comes from the photo. Copy is sized relative to the
   section width (cqi) so it scales with the photo; --k is a fine-tune scale that
   the fit script lowers only if a row's copy would be taller than its photo. */
.hero{aspect-ratio:3/2;background-image:url('assets/hero-supplied.jpg');background-size:100% auto;background-position:center;min-height:0}
.hero-explore{white-space:nowrap}
@media(max-width:1000px){.hero-name{top:66%;height:14%}.hero-explore{bottom:7%;gap:12px;font-size:10px}.hero-explore span{font-size:16px}}
.sector{--k:1;container-type:inline-size;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.sector.reverse{grid-template-columns:1fr 1fr}
.supplied-image{position:relative;display:block;min-height:0;aspect-ratio:auto;max-height:none;overflow:hidden;background:#101010;container-type:normal}
.supplied-image img{position:static;inset:auto;display:block;width:100%;height:auto;object-fit:fill;filter:none}
.sector-copy{justify-content:center;min-width:0}
.sector:not(.stacked) .sector-copy{padding:calc(1.6cqi*var(--k)) calc(2.4cqi*var(--k));gap:calc(.9cqi*var(--k))}
.sector:not(.stacked) .icon{width:calc(2.4cqi*var(--k));height:calc(2.4cqi*var(--k))}
.sector:not(.stacked) .section-top>span{font-size:calc(.78cqi*var(--k))}
.sector:not(.stacked) h2{font-size:calc(2.8cqi*var(--k));margin:0 0 calc(.6cqi*var(--k));line-height:1.05}
.sector:not(.stacked) .lead{font-size:calc(1.3cqi*var(--k));margin:0 0 calc(.6cqi*var(--k));line-height:1.3}
.sector:not(.stacked) .draft{font-size:calc(1.02cqi*var(--k));line-height:1.55;max-width:none}
.sector:not(.stacked) .categories{gap:calc(.4cqi*var(--k));margin:0 0 calc(.7cqi*var(--k))}
.sector:not(.stacked) .categories span{font-size:calc(.88cqi*var(--k));padding:calc(.4cqi*var(--k)) calc(.7cqi*var(--k))}
.sector:not(.stacked) .roadmap{margin-top:0;padding-top:calc(.8cqi*var(--k))}
.sector:not(.stacked) .roadmap>span{font-size:calc(.74cqi*var(--k))}
.sector:not(.stacked) .roadmap ol{margin-top:calc(.6cqi*var(--k));gap:calc(1cqi*var(--k))}
.sector:not(.stacked) .roadmap li{font-size:calc(.9cqi*var(--k));line-height:1.4}
.sector:not(.stacked) .roadmap li:before{font-size:calc(.74cqi*var(--k));margin-bottom:calc(.3cqi*var(--k))}
.sector:not(.stacked) .section-bottom{padding-top:calc(.8cqi*var(--k));gap:calc(.6cqi*var(--k))}
.sector:not(.stacked) .section-bottom>span:first-child{font-size:calc(.74cqi*var(--k))}
.sector:not(.stacked) .consult-link{font-size:calc(.9cqi*var(--k))}
/* Stacked (phones, and landscape rows on tablets): photo full-width above the copy. */
.sector.stacked{grid-template-columns:1fr}
.sector.stacked .sector-image{grid-column:1;grid-row:1}
.sector.stacked .sector-copy{grid-column:1;grid-row:2;justify-content:flex-start;padding:26px 18px;gap:18px}
.sector.stacked h2{font-size:clamp(30px,5.5vw,44px);margin:0 0 12px}
.sector.stacked .lead{font-size:18px;margin:0 0 12px}
.sector.stacked .draft{font-size:15px;line-height:1.6;max-width:none}
.sector.stacked .roadmap{margin-top:0;padding-top:12px}.sector.stacked .roadmap ol{margin-top:10px;gap:14px}.sector.stacked .roadmap li{font-size:13px}
.sector.stacked .section-bottom{padding-top:12px}
@media(max-width:650px){.sector-image{aspect-ratio:auto;min-height:0}.hero{aspect-ratio:3/2}.hero-name{top:72%}.hero-explore{bottom:5%}.sector.stacked .roadmap ol{flex-direction:column;gap:12px}}

/* Hero: supplied OFINN GROUP icon, centred in the middle of the hero. */
.hero-logo{top:50%;width:clamp(110px,17vw,250px);height:auto;mix-blend-mode:normal;filter:drop-shadow(0 6px 28px #0007)}
.hero-logo img{display:block;width:100%;height:auto}
@media(max-width:650px){.hero-logo{width:24vw}}
/* Wordmark hugs the bottom edge of the hero icon. */
.hero-name{top:calc(50% + clamp(55px,8.5vw,125px) + 8px);height:auto}
@media(max-width:650px){.hero-name{top:calc(50% + 12vw + 6px)}}
/* Hero wordmark removed visually; the h1 stays for assistive tech and search. */
.hero-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;top:auto;left:auto;right:auto;text-shadow:none}

/* ---- Showcase grid: two-column card wall; cards flow into the shorter column ---- */
.gr .showcase{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#242424;border-bottom:1px solid #242424}
.gr .col{display:flex;flex-direction:column;gap:1px;min-width:0}
.gr .card{background:#050505;display:flex;flex-direction:column}
.gr .col>.card:last-child{flex:1}
.gr .showcase.measuring{align-items:start}.gr .showcase.measuring .col>.card:last-child{flex:0 0 auto}
.gr .card .photo{margin:0;background:#101010}
.gr .card .photo img{display:block;width:100%;height:auto}
.gr .card-body{padding:clamp(24px,2.6vw,40px) clamp(22px,2.8vw,44px) clamp(28px,3vw,44px);display:flex;flex-direction:column;gap:18px}
.gr .card .section-top{gap:16px}
.gr .card h2{font-size:clamp(30px,2.6vw,42px);margin:0 0 10px;line-height:1.05}
.gr .card .lead{font-size:clamp(17px,1.25vw,20px);margin:0 0 10px}
.gr .card .draft{font-size:15px;line-height:1.65;max-width:none}
.gr .card .categories{margin:0 0 12px}.gr .card .categories span{font-size:13px;padding:6px 9px}
.gr .card .roadmap{margin:0;padding-top:14px}.gr .card .roadmap ol{margin-top:10px;gap:14px}.gr .card .roadmap li{font-size:13px}
.gr .card .section-bottom{padding-top:14px}
.gr .card.story-card{justify-content:center;align-items:center;text-align:center;padding:clamp(40px,5vw,80px) clamp(24px,3vw,48px);gap:22px}
.gr .card.story-card .story-logo{display:block;width:clamp(110px,10vw,150px);height:auto;margin:10px 0 6px;filter:drop-shadow(0 6px 28px #0007)}
.gr .card.story-card .eyebrow{display:block}
.gr .card.story-card h2{font-size:clamp(34px,3vw,48px);margin:0}
.gr .card.story-card p{color:#aaa;line-height:1.7;max-width:440px;margin:0;font-size:15px}.gr .card.story-card p+p{margin-top:-6px;color:#888;font-size:14px}
@media(max-width:760px){.gr .showcase{grid-template-columns:1fr}.gr .card .roadmap ol{flex-direction:column;gap:12px}}

/* Header nav: keep all three links on one baseline. The ↗ glyph comes from a
   fallback font with a taller line box, which pushed "Contact" down. */
nav{align-items:center}
nav a{display:inline-flex;align-items:center;line-height:1}
nav a:last-child span{line-height:1;font-size:1.05em;transform:translateY(-.05em)}

/* Beauty & wellness card: Tuscan Ivy billboard loop with the bottle sitting bottom-left. */
.gr .card .photo-video{position:relative;overflow:hidden}
.gr .card .photo-video video{display:block;width:100%;height:auto}
.gr .card .photo img.photo-bottle{position:absolute;left:4%;bottom:4%;width:24%;height:auto;filter:drop-shadow(0 12px 28px #0009)}
/* AI consultation (full-width section between the showcase and contact) */
.ai-consult,.crypto{border-bottom:1px solid #242424}
.ai-consult .photo,.crypto .photo{margin:0;background:#101010;border-bottom:1px solid #242424}.ai-consult .photo img,.crypto .photo svg{display:block;width:100%;height:auto}
.ai-intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);padding:clamp(52px,6vw,96px) 4.5% clamp(44px,4.5vw,72px)}
.ai-intro .section-top{justify-content:flex-start;margin-bottom:26px}.ai-intro .section-top>span{text-align:left}
.ai-intro h2{font-size:clamp(38px,4vw,64px);margin:0 0 16px}
.ai-intro .lead{margin:0}
.ai-intro .draft{max-width:none;font-size:16px;line-height:1.75}.ai-intro .draft+.draft{margin-top:18px}
.ai-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#242424;border-block:1px solid #242424}
.ai-grid>div{background:#050505;padding:clamp(26px,2.6vw,40px) clamp(22px,2.4vw,36px) clamp(30px,2.8vw,44px)}
.ai-grid .num{display:block;font-size:11px;letter-spacing:.12em;color:#64d9e9;margin-bottom:18px}
.ai-grid h3,.ai-fit h3{font-size:19px;font-weight:500;letter-spacing:-.02em;line-height:1.25;margin:0 0 12px}
.ai-grid p{font-size:14px;line-height:1.7;color:#999;margin:0}
.ai-fit{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#242424;border-bottom:1px solid #242424}
.ai-fit>div{background:#050505;padding:clamp(32px,3.5vw,56px) clamp(22px,4.5vw,64px)}
.ai-fit .eyebrow{display:block;margin-bottom:18px}
.ai-fit h3{font-size:clamp(22px,1.8vw,28px);margin-bottom:14px}
.ai-fit p{font-size:15px;line-height:1.7;color:#aaa;margin:0}
.ai-process{padding:clamp(40px,4vw,56px) 4.5% clamp(44px,4.5vw,64px)}
.ai-process .roadmap{border-top:0;padding-top:0;margin:0}
.ai-process .roadmap ol{gap:28px;margin-top:18px}
.ai-process .roadmap li{font-size:14px;line-height:1.6;color:#999}
.ai-process .roadmap li strong{display:block;font-weight:500;color:#eee;font-size:16px;margin-bottom:6px}
.ai-process .section-bottom{margin-top:40px}
.ai-note{font-size:13px;color:#777;line-height:1.6;margin:14px 0 0}
@media(max-width:1000px){.ai-grid{grid-template-columns:1fr 1fr}.ai-process .roadmap ol{flex-wrap:wrap}.ai-process .roadmap li{flex:1 1 40%}}
@media(max-width:760px){.ai-intro{grid-template-columns:1fr;gap:28px}.ai-fit{grid-template-columns:1fr}.ai-process .roadmap ol{flex-direction:column;gap:18px}.ai-process .roadmap li{flex:auto}}
nav a{white-space:nowrap}
@media(max-width:650px){.ai-grid{grid-template-columns:1fr}.nav-long{display:none}}
/* Logistics: wide row, photo beside the description, roadmap below both */
.gr .card.card-wide{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;border-bottom:1px solid #242424}
.gr .card.card-wide .photo{grid-column:1;background:#050505}
.gr .card.card-wide .card-body{grid-column:2}
.gr .card.card-wide .card-foot{grid-column:1/-1;display:flex;flex-direction:column;gap:18px;padding:0 clamp(22px,2.8vw,44px) clamp(28px,3vw,44px)}
.gr .card.card-wide .card-foot .roadmap{padding-top:18px}
@media(max-width:760px){.gr .card.card-wide{grid-template-columns:1fr}.gr .card.card-wide .photo,.gr .card.card-wide .card-body,.gr .card.card-wide .card-foot{grid-column:1}}
/* Our story: full-width band between contact and the footer */
.gr .story-band{border-bottom:1px solid #292929;padding:clamp(56px,7vw,110px) 5%}

/* Crypto acquisitions: collage of currencies around the group symbol, then the same intro/grid/process layout as AI consultation */
.crypto-collage{background:#070707}
@media(max-width:1000px){.crypto-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:650px){.crypto-grid{grid-template-columns:1fr}}
