/* Cody Manages: editorial rhythm, tactile surfaces and purposeful motion. */
:root{--paper:#f6f7f8;--ease:cubic-bezier(.22,1,.36,1)}
.wordmark{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.06em;line-height:.95;font-size:24px}.wordmark>span{margin-top:2px}.footer-wordmark{font-size:38px!important;letter-spacing:-.06em}
@media(max-width:850px){.site-header .wordmark{font-size:22px;letter-spacing:-.06em}.site-header .wordmark>span{margin-top:2px}}
@media(max-width:580px){.site-header .wordmark{font-size:20px;letter-spacing:-.06em}.footer-wordmark{font-size:30px!important}}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}
.contact-actions{min-width:0}.booking-card{padding:36px;border:1px solid #55afff50;background:#55afff09;border-radius:24px}.booking-card>.eyebrow{font-size:8px;color:#a9d9ff;margin-bottom:25px}.booking-card h3{font-size:34px;letter-spacing:-1.3px;margin-bottom:15px}.booking-card>p:not(.eyebrow){font-size:13px;color:#b2c5d3;line-height:1.8}.booking-facts{display:flex;gap:9px;flex-wrap:wrap;margin-block:24px}.booking-facts span{font-size:10px;color:#dcf0ff;border:1px solid #ffffff25;padding:8px 12px;border-radius:30px}.booking-card .booking-label{font-size:9px!important;letter-spacing:1.4px;font-weight:700;margin-top:28px}.booking-services{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin-bottom:14px}.booking-services li{font-size:11px;border-radius:9px;padding:11px 13px;background:#55afff15;color:#b9e0ff;border:1px solid #55afff30}.booking-card .booking-hint{font-size:11px!important}.booking-card .button{width:100%;margin-block:15px}.booking-card .booking-hours{font-size:10px!important;margin-bottom:0}.email-alternative{margin-top:20px}.email-alternative>summary{list-style:none;cursor:pointer;padding:19px 5px;font-size:13px;display:flex;justify-content:space-between;gap:20px;color:#c9d8e2}.email-alternative>summary::-webkit-details-marker{display:none}.email-alternative>summary span{color:var(--blue);font-size:20px}.email-alternative[open]>summary span{transform:rotate(45deg)}.booking-dialog{width:min(1120px,calc(100% - 24px));background:#f7faff;color:#101d27}.booking-dialog-heading{padding:35px 40px 25px;border-bottom:1px solid #d6e4ee}.booking-dialog-heading .eyebrow{color:#286a9d;font-size:8px;margin-bottom:15px}.booking-dialog-heading h2{font-size:35px;letter-spacing:-1.5px;margin-bottom:12px}.booking-dialog-heading p:not(.eyebrow){font-size:13px;color:#4b606f;max-width:670px}.booking-dialog-heading .text-link{font-size:11px;color:#1e689e}.booking-dialog iframe{display:block;width:100%;height:650px;border:0;background:white}.booking-privacy{font-size:10px;color:#536d80;padding:18px 30px;margin:0;line-height:1.7}@media(max-width:580px){.booking-card{padding:27px 20px}.booking-card h3{font-size:30px}.booking-dialog-heading{padding:55px 22px 23px}.booking-dialog-heading h2{font-size:30px}.booking-dialog iframe{height:670px}.booking-privacy{padding:16px 22px}.booking-services li{font-size:10px}}
.site-header{transition:top .4s var(--ease),background .4s,box-shadow .4s;border-color:#ffffff25}
.site-header.is-scrolled{top:10px;background:#0b1014f5;box-shadow:0 10px 35px #0003}
.button{border-radius:100px;position:relative;overflow:hidden;min-height:56px}
.button-small{min-height:43px}.button-outline:hover{background:#55afff15;color:var(--blue)}
.hero{min-height:860px;height:100svh;max-height:1120px}
.hero-content{position:relative}.hero-label{letter-spacing:2.5px}
.hero h1{font-size:clamp(80px,10.2vw,157px);letter-spacing:-.075em;line-height:.94;max-width:1200px}
.hero h1>span:first-child{font-size:.37em;font-weight:400;letter-spacing:-.025em;margin-bottom:16px}
.hero h1 em{background:linear-gradient(115deg,#b5dfff,var(--blue) 60%,#81c9ff);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-bottom{margin-top:44px}.hero-bottom p{font-size:17px;color:#d2dde3}
.hero-shade{background:linear-gradient(90deg,#02080de8,#02080d80 56%,#02080d15),linear-gradient(0deg,#05090bf5,transparent 55%)}
.hero-caption{color:#a9bac6}.scroll-arrow{animation:scroll-hint 2.5s ease-in-out infinite}
.creative-ribbon{position:relative;overflow:hidden;background:var(--blue);color:#06131d;padding:25px 0 40px}
.ribbon-pause{position:absolute;bottom:5px;right:20px;border:0;border-bottom:1px solid currentColor;background:var(--blue);color:#06131d;font-size:10px;padding:3px 0}.creative-ribbon:has(.ribbon-pause:hover)>div{animation-play-state:paused}
.creative-ribbon>div{display:flex;width:max-content;align-items:center;gap:40px;animation:ribbon-travel 35s linear infinite}
.creative-ribbon span{white-space:nowrap;font-size:clamp(28px,3.8vw,58px);font-weight:800;letter-spacing:-.055em;line-height:1}
.creative-ribbon .ribbon-outline{color:transparent;-webkit-text-stroke:1px #06131d}.creative-ribbon .ribbon-star{font-weight:400;margin-inline:10px}
.section-space{padding-top:130px;padding-bottom:130px}.section-marker{margin-bottom:65px}
.display{letter-spacing:-.065em;line-height:1.04}.intro .display{font-size:clamp(45px,5.1vw,80px)}
.intro-copy{padding-top:9px}.intro-copy .lead{font-size:23px}.intro-copy>p:not(.lead){font-size:15px;line-height:1.85}
.format-strip{border:0;border-top:1px solid #d6dde2;padding-bottom:0;margin-top:75px;color:#5c6e7a}
.work-section{background:#0b1014;position:relative}.work-section .section-heading .display{font-size:clamp(48px,5.4vw,84px)}
.serif-ish{color:var(--blue);font-style:normal}.work-grid{gap:40px;grid-template-columns:1.25fr 1fr}
.work-image,.brand-composition{border-radius:26px;border:1px solid #ffffff18;transition:box-shadow .5s,border-color .5s}
.work-card:hover .work-image,.work-card:hover .brand-composition{box-shadow:0 20px 65px #0005;border-color:#55afff66}
.work-feature .work-image{aspect-ratio:1.18}.work-brand{padding-top:100px}.brand-composition{aspect-ratio:1.04;background:radial-gradient(ellipse at 40% 35%,#344858,#121b22 80%)}
.work-open{background:#e5f3ff;color:#101e28;border:0;width:46px;height:46px}.work-card:hover .work-open{transform:translate(2px,-2px)}
.work-meta h3{font-size:21px}.work-meta p{font-size:11px;line-height:1.7}.work-note{padding-top:25px;border-top:1px solid #ffffff15;max-width:none;margin-top:42px}
.services-heading .display{font-size:clamp(42px,4.4vw,67px)}.services-layout{grid-template-columns:1fr 1.2fr;gap:85px}
.service{border:1px solid #dce3e8!important;border-radius:22px;background:#fff;margin-bottom:14px;transition:border-color .3s,box-shadow .3s,background .3s;overflow:hidden}
.service[open]{background:#edf6fd;border-color:#b8d6ed!important;box-shadow:0 14px 40px #24527308}
.service summary{padding:30px 25px;gap:16px}.service h3{font-size:25px}.service-body{padding:0 28px 28px 53px}.service-body>p{font-size:14px}
.service-tags li{border-radius:100px;background:#ffffff9c}.service small{line-height:1.6}.details-toggle{background:white;width:35px;height:35px}
.about-section{margin:0 24px;border-radius:30px;overflow:hidden;min-height:790px}.about-photo>img{object-position:44% 55%}
.about-copy{padding:70px 11%}.about-copy .display{font-size:clamp(40px,4.2vw,64px)}.about-copy p:not(.eyebrow){font-size:14px;line-height:1.85}
.photo-label{background:#111b2480;backdrop-filter:blur(12px);border:1px solid #ffffff20;border-radius:100px;padding:13px 17px;bottom:30px;left:30px}
.process-grid{gap:18px}.process-grid li{border:1px solid #dde5eb;background:white;border-radius:22px;padding:32px;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s}
.process-grid li::before{top:0;left:32px;width:48px;height:3px}.process-grid li:hover{transform:translateY(-6px);box-shadow:0 18px 40px #162e4610}
.process-grid h3{margin-top:42px;max-width:230px;font-size:25px}.process-grid p{margin-bottom:0}
.workspace-note{border-radius:22px;padding:32px;background:#e8f3fc}.workspace-symbol{border-radius:50%;background:#cbe7fd}
.faq-heading{position:sticky;top:150px;align-self:start}.faq-list summary{padding:5px 0}.faq-list summary:hover{color:#1e689e}
.contact-section{margin:0 24px;border-radius:30px;background:radial-gradient(ellipse at 100% 100%,#173044,#0b1116 55%);overflow:hidden}
.contact-top h2{font-size:clamp(60px,7.8vw,120px)}.contact-arrow{color:var(--blue);font-size:135px}
.contact-grid{grid-template-columns:.8fr 1.2fr;gap:85px}.enquiry-form{background:#ffffff05;border:1px solid #ffffff16;padding:32px;border-radius:24px}
.enquiry-form input:not([type=checkbox]),.enquiry-form textarea{border:1px solid #ffffff25;border-radius:10px;padding:14px;background:#ffffff04;margin-top:8px;outline-offset:3px}
.enquiry-form input:focus,.enquiry-form textarea:focus{border-color:var(--blue);background:#55afff08}.service-options span{border-radius:100px}
.footer-main{padding-top:12px}.footer-wordmark{font-size:32px}.site-footer{padding-top:65px}.footer-bottom{padding-top:25px}
@keyframes ribbon-travel{to{transform:translateX(-50%)}}@keyframes scroll-hint{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media(min-width:851px){.work-brand{transform:translateY(35px)}.work-brand.is-visible{transform:translateY(35px)}}
@media(max-width:1150px){.services-layout{gap:40px}.service h3{font-size:22px}.service summary{padding:26px 20px}.contact-grid{gap:45px}.process-grid li{padding:25px}.hero h1{font-size:10.2vw}}
@media(max-width:850px){.hero{min-height:790px;max-height:1000px}.hero h1{font-size:11.4vw}.section-space{padding-block:85px}.intro .display{font-size:60px}.services-layout{grid-template-columns:1fr}.services-heading .display{font-size:55px}.work-brand{padding-top:55px}.work-grid{gap:24px}.work-meta h3{font-size:18px}.about-section{margin:0 16px}.about-copy{padding:55px 28px}.about-copy .display{font-size:40px}.about-copy p:not(.eyebrow){font-size:13px}.process-grid li{padding:22px}.process-grid h3{font-size:21px}.contact-section{margin:0 16px}.contact-grid{grid-template-columns:1fr;gap:38px}.contact-copy p{max-width:550px}.contact-top h2{font-size:8.3vw}.contact-arrow{font-size:90px}.enquiry-form{padding:28px}.faq-heading{position:static}.photo-label{left:20px;right:20px;font-size:7px;text-align:center}}
@media(max-width:580px){.site-header.is-scrolled{top:6px}.hero{min-height:750px;max-height:920px}.hero-content{padding-top:120px;padding-bottom:110px}.hero h1{font-size:12.8vw;line-height:1}.hero h1>span:first-child{font-size:.46em;margin-bottom:15px}.hero-bottom{margin-top:28px}.hero-bottom p{font-size:14px}.hero-label{letter-spacing:2px}.creative-ribbon{padding:20px 0}.creative-ribbon>div{gap:25px}.creative-ribbon span{font-size:33px}.section-space{padding-block:68px}.section-marker{margin-bottom:36px}.intro .display{font-size:44px}.intro-copy .lead{font-size:20px}.intro-copy>p:not(.lead){font-size:13px}.format-strip{margin-top:35px}.work-section .section-heading .display{font-size:47px}.work-brand{padding-top:0}.work-image,.brand-composition{border-radius:21px}.work-feature .work-image{aspect-ratio:1.08}.work-meta h3{font-size:19px}.work-meta p{font-size:10px}.services-heading .display{font-size:43px}.service{border-radius:18px;margin-bottom:12px}.service summary{padding:23px 16px;gap:10px}.service h3{font-size:20px;max-width:215px}.service-body{padding:0 20px 25px 36px}.service-body>p{font-size:12px}.service-number{font-size:8px}.details-toggle{width:28px;height:28px}.about-section{margin:0 10px;border-radius:23px}.about-photo{min-height:440px}.about-copy{padding:45px 22px 55px}.about-copy .display{font-size:43px}.photo-label{left:20px;right:auto;font-size:6px}.process-grid{gap:14px}.process-grid li{padding:28px}.process-grid h3{margin-top:25px;font-size:25px;max-width:none}.workspace-note{padding:25px 20px}.contact-section{margin:0 10px;border-radius:23px}.contact-section .wrap{width:calc(100% - 36px)}.contact-top h2{font-size:9.5vw;letter-spacing:-.065em}.contact-top .eyebrow{font-size:6px}.enquiry-form{padding:22px 17px;border-radius:20px}.field-grid{grid-template-columns:1fr;gap:0}.service-options span{font-size:9px;padding:10px 12px}.contact-email{font-size:17px}.enquiry-form input:not([type=checkbox]),.enquiry-form textarea{font-size:16px}.enquiry-form>.button{font-size:10px;padding-inline:17px}.footer-wordmark{font-size:25px}.hero-shade{background:linear-gradient(90deg,#02080dc9,#02080d50),linear-gradient(0deg,#05090bf0,transparent 65%)}.work-open{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.creative-ribbon>div{animation:none}.creative-ribbon>div>span:nth-child(n+7){display:none}.creative-ribbon>div{flex-wrap:wrap;width:auto;justify-content:center}.scroll-arrow{animation:none}.process-grid li:hover{transform:none}}
