:root{--navy:#071f33;--blue:#083d63;--mid:#0f6d91;--aqua:#75d5d2;--sand:#f5f0e4;--sun:#f2b94b;--ink:#09243a;--line:rgba(8,61,99,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--sand);width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}body{margin:0;background:var(--sand);color:var(--ink);font-family:Arial,Helvetica,sans-serif;width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y;position:relative}header,main,section,footer{max-width:100%}a{color:inherit;text-decoration:none}.shell{width:min(1180px,calc(100% - 48px));margin:auto}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:800;letter-spacing:.12em}.brand b{display:block;font-size:9px;letter-spacing:.42em;color:var(--mid);margin-top:3px}.brandMark{width:34px;height:34px;border:1px solid var(--mid);border-radius:50%;position:relative;overflow:hidden;display:block}.brandMark i{position:absolute;width:33px;height:13px;border:1px solid var(--mid);border-radius:50%;left:5px}.brandMark i:nth-child(1){top:7px}.brandMark i:nth-child(2){top:13px;left:-5px}.brandMark i:nth-child(3){top:19px}.navLinks{display:flex;gap:38px;font-size:13px}.navLinks a:hover{color:var(--mid)}.navCta{font-size:12px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--ink);padding:10px 0;display:flex;gap:15px}.hero{min-height:calc(100vh - 92px);display:flex;flex-direction:column;justify-content:space-between;padding-top:60px}.heroGrid{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:40px}.eyebrow,.sectionTag{font-size:10px;text-transform:uppercase;letter-spacing:.22em;font-weight:700}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--mid)}.eyebrow span{width:24px;height:1px;background:var(--mid)}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(58px,7.2vw,104px);line-height:.92;letter-spacing:-.055em;margin:28px 0 32px;max-width:760px}h1 em{color:var(--mid);font-weight:400}.lede{font-family:Georgia,serif;font-size:19px;line-height:1.65;max-width:600px;color:#36566b}.heroActions{display:flex;align-items:center;gap:34px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:18px 22px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.primary{background:var(--blue);color:white;box-shadow:8px 8px 0 var(--aqua)}.textLink{font-size:11px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--ink);padding:12px 0;display:flex;gap:18px}.compassScene{height:520px;position:relative;overflow:hidden}.orbit{position:absolute;border:1px solid var(--line);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.orbitOne{width:420px;height:420px}.orbitTwo{width:300px;height:300px}.compass{position:absolute;width:220px;height:220px;border:1px solid var(--mid);border-radius:50%;left:50%;top:46%;transform:translate(-50%,-50%)}.compass:before,.compass:after{content:"";position:absolute;background:var(--line)}.compass:before{width:1px;height:300px;left:50%;top:-40px}.compass:after{height:1px;width:300px;top:50%;left:-40px}.compass span{position:absolute;font-size:9px;font-weight:bold;letter-spacing:.2em;color:var(--mid)}.north{top:12px;left:50%}.east{right:10px;top:50%}.south{bottom:10px;left:50%}.west{left:10px;top:50%}.needle{position:absolute;width:16px;height:155px;left:calc(50% - 8px);top:30px;background:linear-gradient(to bottom,var(--sun) 0 49%,var(--blue) 50%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);transform:rotate(24deg)}.centerDot{position:absolute;width:15px;height:15px;background:var(--sand);border:4px solid var(--blue);border-radius:50%;left:calc(50% - 7px);top:calc(50% - 7px)}.coordinates{position:absolute;font-size:8px;letter-spacing:.3em;color:var(--mid)}.coordinates.top{top:38px;left:44%}.coordinates.right{right:0;top:49%;transform:rotate(90deg)}.sun{position:absolute;width:42px;height:42px;border-radius:50%;background:var(--sun);right:56px;top:62px}.wave{position:absolute;width:420px;height:85px;border:2px solid var(--mid);border-radius:50%;bottom:36px;left:40%;transform:rotate(-6deg)}.waveTwo{bottom:5px;left:50%}.heroFoot{display:flex;align-items:center;gap:20px;padding:34px 0 28px;font-size:8px;text-transform:uppercase;letter-spacing:.24em}.waveRule{flex:1;height:7px;background:repeating-radial-gradient(ellipse at 50% -4px,transparent 0 7px,var(--mid) 8px 9px,transparent 10px 18px)}.manifesto{background:var(--blue);color:white;padding:110px 0}.manifestoGrid{display:grid;grid-template-columns:1fr 3fr;gap:30px}.sectionTag{color:var(--mid)}.manifesto .sectionTag,.services .sectionTag,.contact .sectionTag{color:var(--aqua)}.manifesto h2,.sectionHead h2,.about h2,.contact h2{font-family:Georgia,serif;font-size:clamp(42px,5vw,68px);font-weight:400;line-height:1.08;letter-spacing:-.035em;margin:0}.manifesto p:last-child{font-family:Georgia,serif;font-size:17px;line-height:1.7;max-width:650px;color:#c8dce7;margin:36px 0 0}.work{padding:130px 0}.sectionHead{display:grid;grid-template-columns:2fr 1fr;gap:60px;align-items:end;margin-bottom:76px}.sectionHead .sectionTag{margin:0 0 24px}.sectionHead>p{font-family:Georgia,serif;line-height:1.75;color:#4a6575;margin:0}.project{display:grid;grid-template-columns:1.45fr .75fr;gap:62px;align-items:center;margin-bottom:120px}.project.pizza{grid-template-columns:.75fr 1.45fr}.projectVisual{height:520px;background:#d9eae6;position:relative;display:grid;place-items:center;overflow:hidden}.browser{width:83%;box-shadow:0 28px 70px rgba(4,39,60,.2);background:white}.browserBar{height:28px;background:#edf2f1;display:flex;align-items:center;padding:0 10px;gap:5px;font-size:7px;color:#76909b}.browserBar i{width:5px;height:5px;border-radius:50%;background:#b7c7c9}.browserBar span{margin-left:12px}.fenceScreen{height:325px;background:linear-gradient(110deg,rgba(5,25,21,.87),rgba(10,52,45,.35)),linear-gradient(145deg,#416d59,#adc1a1);color:white;position:relative;padding:20px 26px;overflow:hidden}.miniNav{font-size:8px;letter-spacing:.1em}.miniNav b{color:#dcc88d}.miniNav span{float:right;border:1px solid white;padding:5px}.fenceCopy{position:absolute;left:28px;top:90px;z-index:2}.fenceCopy small{font-size:7px;letter-spacing:.2em}.fenceCopy strong{display:block;font-family:Georgia,serif;font-size:34px;line-height:1.04;margin:9px 0 16px}.fenceCopy button{background:#d2b76f;border:0;padding:9px 12px;font-size:7px;text-transform:uppercase}.fenceLines{position:absolute;width:180px;height:300px;border:14px double rgba(255,255,255,.25);transform:skewY(-8deg);right:-10px;bottom:-70px}.projectNo{position:absolute;bottom:17px;right:20px;font-family:Georgia,serif;font-size:12px}.projectInfo .pill{font-size:8px;text-transform:uppercase;letter-spacing:.14em;border:1px solid #95aab2;border-radius:20px;padding:7px 10px;margin-right:6px}.projectInfo h3{font-family:Georgia,serif;font-size:48px;font-weight:400;line-height:1;margin:28px 0 22px}.projectInfo p{font-family:Georgia,serif;color:#526b79;line-height:1.7}.projectInfo a{display:flex;justify-content:space-between;border-bottom:1px solid var(--ink);padding:14px 0;margin-top:25px;font-size:10px;text-transform:uppercase;letter-spacing:.15em}.pizza .projectVisual{background:#b9342f}.pizzaPoster{height:82%;width:74%;border:1px solid rgba(255,255,255,.5);position:relative;color:#fff4d7;text-align:center;padding-top:35px}.posterTop,.posterBottom{font-size:7px;letter-spacing:.22em}.pizzaPoster strong{display:block;font-family:Georgia,serif;font-size:65px;line-height:.74;margin-top:28px}.pizzaPoster strong em{color:var(--sun);font-weight:400}.pizzaDisc{margin:30px auto 22px;width:115px;height:115px;background:#f4c067;border:8px solid #fff0c2;border-radius:50%;position:relative;box-shadow:0 0 0 1px #7e241f}.pizzaDisc i{position:absolute;width:15px;height:15px;background:#a52f2b;border-radius:50%}.pizzaDisc i:nth-child(1){top:18px;left:23px}.pizzaDisc i:nth-child(2){top:30px;right:20px}.pizzaDisc i:nth-child(3){bottom:25px;left:28px}.pizzaDisc i:nth-child(4){bottom:17px;right:26px}.pizzaDisc i:nth-child(5){top:50%;left:45%}.services{background:var(--navy);color:white;padding:130px 0}.sectionHead.light>p{color:#afc7d2}.serviceList{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2)}.serviceList article{padding:36px 34px 42px 0;border-right:1px solid rgba(255,255,255,.2);position:relative}.serviceList article+article{padding-left:34px}.serviceList article:last-child{border-right:0}.serviceList span{font-size:9px;color:var(--aqua)}.serviceList h3{font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1.2;margin:35px 0 55px}.serviceList p{font-size:12px;line-height:1.7;color:#a9bec8;max-width:280px}.serviceList i{position:absolute;right:24px;top:34px;color:var(--aqua);font-style:normal}.about{display:grid;grid-template-columns:1fr 1fr;gap:110px;padding-top:130px;padding-bottom:130px}.aboutArt{background:var(--aqua);min-height:520px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:54px}.aboutArt:before,.aboutArt:after{content:"";position:absolute;border:1px solid rgba(8,61,99,.3);border-radius:50%}.aboutArt:before{width:410px;height:410px;left:-120px;top:-90px}.aboutArt:after{width:260px;height:260px;right:-80px;bottom:-80px}.smallCompass{position:absolute;top:55px;right:60px;font-size:10px;text-align:center}.smallCompass span{height:70px;width:2px;background:var(--blue);display:block;margin:8px auto}.aboutArt blockquote{font-family:Georgia,serif;font-size:29px;line-height:1.3;margin:0;position:relative;z-index:2}.aboutCopy{align-self:center}.aboutCopy .sectionTag{margin-bottom:28px}.aboutCopy h2{font-size:52px;margin-bottom:35px}.aboutCopy>p:not(.sectionTag){font-family:Georgia,serif;color:#4d6877;line-height:1.75}.signature{font-family:Georgia,serif;font-style:italic;font-size:20px;margin-top:35px;border-top:1px solid var(--line);padding-top:25px}.signature span{display:block;font-family:Arial,sans-serif;font-style:normal;font-size:8px;text-transform:uppercase;letter-spacing:.18em;color:var(--mid);margin-top:8px}.contact{background:var(--blue);color:white;overflow:hidden}.contactInner{padding-top:110px;padding-bottom:110px;position:relative}.contact h2{font-size:82px;margin:25px 0}.contact p:not(.sectionTag){font-family:Georgia,serif;color:#c2d7e1;font-size:18px}.sunButton{background:var(--sun);color:var(--navy);margin-top:30px}.contactCompass{position:absolute;width:420px;height:420px;border:1px solid rgba(117,213,210,.25);border-radius:50%;right:-50px;top:40px;text-align:center;color:var(--aqua);padding-top:18px;font-size:9px}.contactCompass:before{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(117,213,210,.17);border-radius:50%;left:59px;top:59px}.contactCompass i{position:absolute;width:35px;height:260px;background:linear-gradient(var(--aqua) 50%,rgba(117,213,210,.2) 50%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);left:192px;top:80px;transform:rotate(25deg)}.footer{min-height:130px;display:flex;justify-content:space-between;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:.13em}.footer>div{display:flex;gap:25px}
@media(max-width:800px){.shell{width:min(100% - 32px,1180px)}.nav{height:78px}.navLinks{display:none}.navCta{font-size:0}.navCta span{font-size:16px}.hero{padding-top:35px;min-height:auto}.heroGrid{grid-template-columns:1fr}.heroCopy{position:relative;z-index:2}h1{font-size:58px}.lede{font-size:17px}.compassScene{height:330px;margin-top:-25px}.orbitOne{width:300px;height:300px}.orbitTwo{width:210px;height:210px}.compass{width:160px;height:160px}.needle{height:115px;top:22px}.sun{right:20px}.wave{bottom:20px}.heroFoot{padding-top:0}.manifesto{padding:80px 0}.manifestoGrid{grid-template-columns:1fr;gap:35px}.sectionHead{grid-template-columns:1fr;gap:25px;margin-bottom:45px}.work{padding:85px 0}.project,.project.pizza{grid-template-columns:1fr;gap:32px;margin-bottom:85px}.project.pizza .projectInfo{order:2}.projectVisual{height:380px}.fenceScreen{height:240px}.fenceCopy{top:68px}.fenceCopy strong{font-size:27px}.pizzaPoster{width:82%;height:84%}.pizzaPoster strong{font-size:50px}.serviceList{grid-template-columns:1fr}.serviceList article,.serviceList article+article{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding:32px 0}.serviceList h3{margin:22px 0 25px}.services{padding:85px 0}.about{grid-template-columns:1fr;gap:55px;padding-top:80px;padding-bottom:80px}.aboutArt{min-height:420px;padding:35px}.aboutArt blockquote{font-size:25px}.aboutCopy h2{font-size:43px}.contactInner{padding-top:80px;padding-bottom:80px}.contact h2{font-size:55px;position:relative;z-index:2}.contact p,.contact a{position:relative;z-index:2}.contactCompass{opacity:.45;right:-250px}.footer{flex-wrap:wrap;gap:20px;padding:30px 0}.footer p{order:3;width:100%}}
@media(max-width:440px){h1{font-size:49px}.heroActions{align-items:flex-start;flex-direction:column;gap:18px}.projectVisual{height:320px}.browser{width:90%}.fenceScreen{height:210px}.fenceCopy strong{font-size:24px}.projectInfo h3{font-size:40px}.contact h2{font-size:47px}.footer>div{width:100%;justify-content:space-between}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.js .reveal.revealed{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* Finalized portfolio artwork and hero details */
.windHat{position:absolute;width:310px;height:205px;left:-52px;top:2px;opacity:.32;transform:rotate(-7deg);z-index:3}.hatCrown{position:absolute;width:112px;height:92px;left:112px;top:44px;border:2px solid var(--mid);border-radius:52% 48% 20% 18% / 58% 55% 22% 20%;transform:skewX(8deg) rotate(8deg);background:rgba(245,240,228,.3)}.hatBand{position:absolute;width:111px;height:24px;left:118px;top:103px;border:2px solid var(--mid);border-top:0;border-radius:0 0 45% 40%;transform:rotate(8deg)}.hatBrim{position:absolute;width:205px;height:58px;left:76px;top:113px;border:2px solid var(--mid);border-radius:50%;transform:rotate(-13deg)}.wind{position:absolute;height:38px;width:118px;left:2px;border-top:1px solid var(--mid);border-radius:50%;transform:rotate(12deg)}.windA{top:35px}.windB{top:67px;left:20px;width:102px}.windC{top:99px;left:35px;width:86px}
.project.pizza{grid-template-columns:1.45fr .75fr}.pizza .projectVisual{background:#d9eae6}.editorialArtwork{display:block;width:100%;height:auto;aspect-ratio:900/522;object-fit:cover;object-position:center}.pizza .editorialArtwork{aspect-ratio:899/542}
@media(max-width:800px){.compassScene{height:380px;margin-top:-5px}.windHat{left:2%;top:-8px;transform:scale(.8) rotate(-7deg);transform-origin:left top}.project.pizza{grid-template-columns:1fr}.project.pizza .projectInfo{order:2}}
@media(max-width:440px){.windHat{left:-18px;top:5px;transform:scale(.66) rotate(-7deg)}}

/* Approved wind-swept straw-hat illustration */
.compassScene{overflow:visible}
.windHat{width:clamp(480px,29vw,570px);height:auto;left:clamp(-560px,-29.5vw,-350px);top:-180px;opacity:.34;transform:none;pointer-events:none}
@media(max-width:800px){.windHat{width:410px;height:auto;left:-190px;top:-86px;transform:none;opacity:.3}}
@media(max-width:440px){.windHat{width:350px;left:-155px;top:-48px;transform:none;opacity:.28}}

/* Case study links */
.projectInfo .projectLinks a{margin-top:0}.projectLinks{margin-top:25px}.projectInfo .projectLinks .caseStudyLink{background:var(--blue);color:#fff;border:0;padding:16px 18px}.projectInfo .projectLinks .caseStudyLink+a{margin-top:8px}

/* Bilingual language toggle */
.navBrandGroup{display:flex;align-items:center;gap:24px}.languageToggle{display:flex;height:29px;border:1px solid rgba(8,61,99,.35)}.languageToggle button{min-width:36px;padding:0 9px;border:0;background:transparent;color:var(--blue);font:700 8px/1 Arial,Helvetica,sans-serif;letter-spacing:.14em;cursor:pointer}.languageToggle button+button{border-left:1px solid rgba(8,61,99,.35)}.languageToggle button.active{background:var(--blue);color:var(--sand)}.languageToggle button:focus-visible{outline:2px solid var(--sun);outline-offset:3px}
@media(max-width:800px){.navBrandGroup{gap:11px}.languageToggle{height:27px}.languageToggle button{min-width:31px;padding:0 7px}.brand{gap:9px}.brandMark{width:31px;height:31px}.brand{font-size:12px}.brand b{font-size:8px}}
@media(max-width:390px){.navBrandGroup{gap:7px}.languageToggle button{min-width:28px;padding:0 5px}.brand{font-size:11px;letter-spacing:.08em}.brand b{letter-spacing:.3em}}

/* =========================================================
   MOBILE EXPERIENCE REFINEMENT — desktop styles untouched
   ========================================================= */
@media (max-width:800px){
  /* Keep the primary CTA visible instead of reducing it to an emoji glyph. */
  .nav{height:auto;min-height:82px;gap:14px;padding-top:10px;padding-bottom:10px}
  .navBrandGroup{min-width:0;flex:1;gap:10px}
  .brand{flex:0 1 auto;min-width:0}
  .navCta{
    flex:0 0 auto;
    font-size:8.5px;
    line-height:1;
    letter-spacing:.09em;
    gap:9px;
    padding:11px 0 9px;
    white-space:nowrap;
  }

  /* Draw the diagonal arrow in CSS so iOS cannot swap it for an emoji. */
  .navCta span,
  .button span,
  .projectInfo a span,
  .caseIntro .textLink span,
  .caseContact .button span{
    position:relative;
    display:inline-block;
    width:13px;
    height:13px;
    flex:0 0 13px;
    font-size:0!important;
    line-height:0;
  }
  .navCta span::before,
  .button span::before,
  .projectInfo a span::before,
  .caseIntro .textLink span::before,
  .caseContact .button span::before{
    content:"";
    position:absolute;
    width:9px;
    height:1px;
    background:currentColor;
    left:1px;
    top:7px;
    transform:rotate(-45deg);
    transform-origin:right center;
  }
  .navCta span::after,
  .button span::after,
  .projectInfo a span::after,
  .caseIntro .textLink span::after,
  .caseContact .button span::after{
    content:"";
    position:absolute;
    width:6px;
    height:6px;
    border-top:1px solid currentColor;
    border-right:1px solid currentColor;
    right:1px;
    top:1px;
  }

  /* The hero gets its own mobile composition instead of a compressed desktop layout. */
  .hero{padding-top:62px}
  .heroGrid{gap:0}
  .eyebrow{font-size:9px;line-height:1.5;letter-spacing:.19em;gap:9px}
  .eyebrow span{flex:0 0 24px}
  h1{font-size:56px;line-height:.96;margin:30px 0 34px;max-width:680px}
  .lede{font-size:17px;line-height:1.72;max-width:560px;margin:0}
  .heroActions{margin-top:44px;gap:28px;align-items:flex-start}
  .heroActions .primary{width:min(88%,440px);padding:20px 22px}
  .heroActions .textLink{margin-top:2px;padding:13px 0 14px}

  /* Give the nautical artwork room to feel intentional rather than squeezed in. */
  .compassScene{height:430px;margin-top:86px;overflow:hidden}
  .orbitOne{width:330px;height:330px}
  .orbitTwo{width:230px;height:230px}
  .compass{width:174px;height:174px;top:50%}
  .compass:before{height:330px;top:-78px}
  .compass:after{width:330px;left:-78px}
  .needle{height:122px;top:25px}
  .sun{width:46px;height:46px;right:10px;top:62px}
  .coordinates.top{top:26px;left:48%}
  .coordinates.right{right:-22px;top:52%}
  .wave{width:430px;left:26%;bottom:30px}
  .waveTwo{left:38%;bottom:-4px}
  .windHat{width:390px;left:-150px;top:-35px;opacity:.25}
  .heroFoot{padding:22px 0 34px}

  /* Preserve the same custom-arrow treatment in the service cards. */
  .serviceList i{
    width:14px;
    height:14px;
    font-size:0;
  }
  .serviceList i::before{
    content:"";
    position:absolute;
    width:10px;
    height:1px;
    background:currentColor;
    left:1px;
    top:8px;
    transform:rotate(-45deg);
    transform-origin:right center;
  }
  .serviceList i::after{
    content:"";
    position:absolute;
    width:6px;
    height:6px;
    border-top:1px solid currentColor;
    border-right:1px solid currentColor;
    right:1px;
    top:1px;
  }
}

@media (max-width:520px){
  .shell{width:calc(100% - 28px)}
  .nav{min-height:86px;gap:10px}
  .navBrandGroup{gap:8px}
  .brand{font-size:11px;letter-spacing:.08em;gap:8px}
  .brand b{font-size:7.5px;letter-spacing:.29em}
  .brandMark{width:30px;height:30px;flex:0 0 30px}
  .languageToggle{height:26px}
  .languageToggle button{min-width:28px;padding:0 5px;font-size:7.5px}
  .navCta{font-size:7.8px;letter-spacing:.07em;gap:6px}
  .navCta span{width:12px;height:12px;flex-basis:12px}

  .hero{padding-top:72px}
  .eyebrow{font-size:8.5px;letter-spacing:.17em}
  h1{font-size:clamp(46px,13.2vw,53px);line-height:.97;letter-spacing:-.05em;margin:28px 0 31px}
  .lede{font-size:16.5px;line-height:1.75;max-width:34ch}
  .heroActions{margin-top:42px;gap:27px}
  .heroActions .primary{width:92%;max-width:430px;padding:19px 20px}
  .heroActions .textLink{margin-top:4px}

  .compassScene{height:420px;margin-top:96px}
  .orbitOne{width:340px;height:340px}
  .orbitTwo{width:236px;height:236px}
  .compass{width:178px;height:178px}
  .sun{right:2px;top:68px}
  .windHat{width:370px;left:-160px;top:-26px;opacity:.24}
  .coordinates.top{left:46%}
  .coordinates.right{right:-28px}
  .heroFoot{font-size:7px;gap:12px;padding-top:16px}
}

@media (max-width:390px){
  .nav{gap:7px}
  .navBrandGroup{gap:6px}
  .brand{font-size:10.5px}
  .brandMark{width:28px;height:28px;flex-basis:28px}
  .languageToggle button{min-width:26px;padding:0 4px}
  .navCta{font-size:7.2px;gap:5px}
  .hero{padding-top:66px}
  h1{font-size:46px}
  .lede{font-size:16px}
  .heroActions .primary{width:94%}
  .compassScene{margin-top:90px}
}

/* Mobile artwork correction: keep the straw hat visually separate from the compass rings. */
@media (max-width:800px){
  .compassScene{height:500px;margin-top:96px;overflow:hidden}
  .windHat{
    width:300px;
    left:-72px;
    top:-6px;
    opacity:.22;
    transform:rotate(-7deg);
    transform-origin:left top;
  }
  .orbitOne,.orbitTwo,.compass{top:63%}
  .coordinates.top{top:145px;left:48%}
  .coordinates.right{top:64%;right:-22px}
  .sun{top:132px}
  .wave{bottom:28px}
  .waveTwo{bottom:-5px}
}

@media (max-width:520px){
  .compassScene{height:510px;margin-top:102px}
  .windHat{
    width:285px;
    left:-78px;
    top:-2px;
    opacity:.21;
  }
  .orbitOne,.orbitTwo,.compass{top:66%}
  .coordinates.top{top:160px;left:47%}
  .coordinates.right{top:67%;right:-28px}
  .sun{top:145px;right:2px}
}

@media (max-width:390px){
  .compassScene{height:500px;margin-top:98px}
  .windHat{width:270px;left:-82px;top:2px}
  .orbitOne,.orbitTwo,.compass{top:67%}
  .coordinates.top{top:158px}
  .sun{top:143px}
}

/* Mobile arrow refinement: use one continuous vector-style silhouette so the arrow
   cannot look clipped or disconnected on iOS. Desktop remains unchanged. */
@media (max-width:800px){
  .navCta span,
  .button span,
  .projectInfo a span,
  .caseIntro .textLink span,
  .caseContact .button span,
  .serviceList i{
    position:relative;
    display:inline-block;
    width:15px;
    height:15px;
    min-width:15px;
    flex:0 0 15px;
    overflow:visible;
    font-size:0!important;
    line-height:0;
  }

  .navCta span::before,
  .button span::before,
  .projectInfo a span::before,
  .caseIntro .textLink span::before,
  .caseContact .button span::before,
  .serviceList i::before{
    content:"";
    position:absolute;
    inset:0;
    width:15px;
    height:15px;
    background:currentColor;
    clip-path:polygon(36% 0,100% 0,100% 64%,84% 64%,84% 27%,12% 99%,1% 88%,73% 16%,36% 16%);
    transform:none;
  }

  .navCta span::after,
  .button span::after,
  .projectInfo a span::after,
  .caseIntro .textLink span::after,
  .caseContact .button span::after,
  .serviceList i::after{
    content:none;
  }

  .serviceList i{right:24px;top:34px}
}

@media (max-width:520px){
  .navCta span{width:14px;height:14px;min-width:14px;flex-basis:14px}
  .navCta span::before{width:14px;height:14px}
}


/* Project inquiry form */
.contactGrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:86px;align-items:start}.contactCopy{position:relative;z-index:2}.contactCopy>p:not(.sectionTag){max-width:520px}.contactNote{font-family:Arial,Helvetica,sans-serif!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.12em;margin-top:32px!important}.contactNote a{border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:4px}.projectForm{position:relative;z-index:3;background:rgba(7,31,51,.32);border:1px solid rgba(117,213,210,.28);padding:34px}.formTrap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.formRow{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:20px}.formRow.twoCol{grid-template-columns:1fr 1fr}.projectForm label{display:flex;flex-direction:column;gap:9px}.projectForm label>span{font-size:8px;text-transform:uppercase;letter-spacing:.16em;color:#c7dce5}.projectForm label>span b{color:var(--sun);font-weight:400}.projectForm input,.projectForm select,.projectForm textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.38);border-radius:0;background:rgba(255,255,255,.035);color:white;font:400 15px/1.4 Georgia,serif;padding:13px 12px;outline:none;appearance:none;-webkit-appearance:none}.projectForm textarea{resize:vertical;min-height:126px}.projectForm select{background-image:linear-gradient(45deg,transparent 50%,#75d5d2 50%),linear-gradient(135deg,#75d5d2 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px}.projectForm select option{color:var(--navy);background:#fff}.projectForm input:focus,.projectForm select:focus,.projectForm textarea:focus{border-bottom-color:var(--aqua);background:rgba(255,255,255,.07)}.formSubmit{border:0;cursor:pointer;width:100%;margin-top:6px;font-family:Arial,Helvetica,sans-serif}.formPrivacy{font-family:Arial,Helvetica,sans-serif!important;font-size:8px!important;text-transform:uppercase;letter-spacing:.11em;color:#9fbdca!important;margin:16px 0 0!important}.contactGrid .contactCompass{z-index:1;right:-250px;top:20px}

@media(max-width:900px){.contactGrid{grid-template-columns:1fr;gap:48px}.projectForm{max-width:680px}.contactGrid .contactCompass{right:-280px;top:120px}}
@media(max-width:800px){.contactGrid{gap:42px}.contactCopy h2{font-size:55px}.contactCopy>p:not(.sectionTag){max-width:620px}.projectForm{padding:26px}.formSubmit span{position:relative;display:inline-block;width:15px;height:15px;min-width:15px;flex:0 0 15px;overflow:visible;font-size:0!important;line-height:0}.formSubmit span::before{content:"";position:absolute;inset:0;width:15px;height:15px;background:currentColor;clip-path:polygon(36% 0,100% 0,100% 64%,84% 64%,84% 27%,12% 99%,1% 88%,73% 16%,36% 16%)}.formSubmit span::after{content:none}.contactGrid .contactCompass{right:-300px;top:190px;opacity:.32}}
@media(max-width:560px){.contactInner.contactGrid{padding-top:78px;padding-bottom:78px}.contactCopy h2{font-size:47px}.contactCopy>p:not(.sectionTag){font-size:17px}.contactNote{font-size:9px!important}.projectForm{padding:22px 18px}.formRow.twoCol{grid-template-columns:1fr}.formRow{gap:18px;margin-bottom:18px}.projectForm input,.projectForm select,.projectForm textarea{font-size:16px;padding:12px 10px}.formSubmit{padding:18px 16px;gap:18px}.contactGrid .contactCompass{right:-335px;top:220px}}

.thankPage{min-height:100vh;background:var(--sand);display:flex;align-items:center}.thankInner{padding:70px 0}.thankInner>.brand{margin-bottom:110px}.thankInner>div{max-width:760px}.thankInner h1{margin:24px 0 28px}.thankInner p:not(.sectionTag){font-family:Georgia,serif;font-size:20px;line-height:1.7;color:#456273;max-width:620px}.thankInner .button{margin-top:28px}

/* Optional-field guidance */
.projectForm label>span small{font-size:.72em;font-weight:400;letter-spacing:.08em;color:#9fc1d1}.projectForm .fieldNote{display:block;margin-top:10px;font-size:9px;line-height:1.55;letter-spacing:.04em;color:#9fc1d1;text-transform:none;font-weight:400}

/* Keep the Las Delicias artwork fully enclosed like the other portfolio marks. */
.delicias .editorialArtwork{
  aspect-ratio:3/2;
  object-fit:contain;
}
@media(max-width:800px){
  .delicias .browser{width:min(83%,620px)}
}
@media(max-width:440px){
  .delicias .browser{width:86%}
}


/* Concept Lab — independent speculative work */
.concepts{background:#e9f1ef;padding:125px 0 135px;border-top:1px solid rgba(8,61,99,.12);border-bottom:1px solid rgba(8,61,99,.12)}
.conceptHead{margin-bottom:58px}.conceptHead>div:last-child>p:first-child{font-family:Georgia,serif;line-height:1.75;color:#4a6575;margin:0}.conceptDisclaimer{font-size:9px!important;line-height:1.55!important;letter-spacing:.07em;text-transform:uppercase;color:#6f858f!important;margin:18px 0 0!important;max-width:510px}
.conceptGrid{display:grid;grid-template-columns:1fr 1fr;gap:58px 36px}.conceptCard{min-width:0}.conceptPreview{display:block;background:#fff;box-shadow:0 20px 52px rgba(7,31,51,.10);transition:transform .25s ease,box-shadow .25s ease}.conceptPreview:hover{transform:translateY(-5px);box-shadow:0 26px 60px rgba(7,31,51,.16)}
.conceptBrowserBar{height:30px;background:#f2f5f4;display:flex;align-items:center;padding:0 12px;gap:6px;color:#82959e;font-size:7px;letter-spacing:.04em}.conceptBrowserBar i{width:5px;height:5px;border-radius:50%;background:#bdc9ca}.conceptBrowserBar span{margin-left:9px}
.conceptCanvas{height:325px;position:relative;overflow:hidden;padding:34px;display:flex;flex-direction:column;justify-content:flex-end}.conceptCanvas:before,.conceptCanvas:after{content:"";position:absolute;border:1px solid currentColor;opacity:.22;border-radius:50%}.conceptCanvas:before{width:260px;height:260px;right:-80px;top:-110px}.conceptCanvas:after{width:150px;height:150px;right:45px;top:-45px}.conceptCanvas strong{font-family:Georgia,serif;font-size:58px;line-height:.86;font-weight:400;letter-spacing:-.055em;position:relative;z-index:2}.conceptCanvas strong em{font-style:normal;color:inherit;opacity:.65}.conceptKicker{font-size:8px;text-transform:uppercase;letter-spacing:.2em;font-weight:800;margin-bottom:15px;position:relative;z-index:2}.conceptAccent{position:absolute;right:28px;bottom:24px;font-size:32px;opacity:.5}
.irmaConcept .conceptCanvas{background:#eadcc2;color:#743d2f}.cubanitaConcept .conceptCanvas{background:#0b4d4c;color:#f6d35f}.esparzaConcept .conceptCanvas{background:#efb92f;color:#1c2527}.iguanitaConcept .conceptCanvas{background:#f0dfb0;color:#a22c24}.sanJulianConcept .conceptCanvas{background:#d96b33;color:#fff3d2}
.conceptMeta{padding:24px 2px 0}.conceptMeta .pill{display:inline-block;margin:0 7px 10px 0}.conceptMeta h3{font-family:Georgia,serif;font-size:34px;font-weight:400;letter-spacing:-.025em;margin:7px 0 12px}.conceptMeta p{font-family:Georgia,serif;color:#4d6877;line-height:1.65;margin:0;max-width:520px}.conceptLink{display:inline-flex;gap:14px;align-items:center;margin-top:18px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;border-bottom:1px solid rgba(8,61,99,.4);padding-bottom:7px}.conceptLink:hover{color:var(--mid)}
@media(max-width:800px){.concepts{padding:82px 0 92px}.conceptGrid{grid-template-columns:1fr;gap:54px}.conceptCanvas{height:300px}.conceptCanvas strong{font-size:52px}.conceptHead{margin-bottom:42px}}
@media(max-width:440px){.conceptCanvas{height:255px;padding:26px}.conceptCanvas strong{font-size:45px}.conceptMeta h3{font-size:31px}.conceptDisclaimer{font-size:8px!important}}

.conceptLinkStatic{cursor:default;border-bottom-color:rgba(8,61,99,.22);opacity:.8}
.iguanitaConcept .conceptCanvas{box-shadow:inset 0 0 0 16px rgba(22,90,74,.9)}
.iguanitaConcept .conceptCanvas:before,.iguanitaConcept .conceptCanvas:after{border-color:rgba(22,90,74,.28)}

@supports (overflow:clip){html,body{overflow-x:clip}}
