@font-face{font-family:Bricolage;src:url('assets/bricolage-400.ttf')}@font-face{font-family:Bricolage;src:url('assets/bricolage-600.ttf');font-weight:600}@font-face{font-family:Bricolage;src:url('assets/bricolage-800.ttf');font-weight:800}
:root{--paper:#f3f0e6;--orange:#ff5425;--ink:#24251f;--lilac:#ccc3f5;--line:rgba(36,37,31,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Bricolage,Arial,sans-serif;font-size:18px;line-height:1.4;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #4938bd;outline-offset:7px}::selection{background:var(--lilac);color:var(--ink)}h1,h2,h3,p{margin:0}button{cursor:pointer} .skip{position:fixed;z-index:20;top:-100px;left:20px;background:var(--ink);color:white;padding:15px}.skip:focus{top:15px}
.header{height:113px;margin:0 4.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;gap:10px;align-items:center;font-weight:800;font-size:34px;line-height:.8;letter-spacing:-2px}.brand-small{display:block;font-size:17px;letter-spacing:-.5px;margin-top:8px;font-weight:600}.header nav{display:flex;gap:36px;font-size:17px}.header nav a{position:relative}.header nav a:after{content:'';height:1px;width:0;background:var(--ink);position:absolute;bottom:-5px;left:0;transition:width .25s}.header nav a:hover:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:10px 10px 10px 25px;border-radius:50px;font-size:18px;font-weight:600;width:max-content;transition:transform .25s,background .25s,color .25s}.button:hover{transform:translateY(-4px)}.button.dark{background:var(--ink);color:var(--paper)}.button.small{font-size:16px;padding:7px 7px 7px 22px;gap:18px}
.hero{min-height:760px;height:calc(100svh - 113px);max-height:1000px;position:relative;padding:27px 4.2% 40px;isolation:isolate;overflow:hidden}.hero-top{display:flex;justify-content:space-between;font-size:17px}.hero h1{position:relative;z-index:2;pointer-events:none;font-size:clamp(78px,10.7vw,175px);font-weight:800;letter-spacing:-.075em;line-height:.88;margin-top:55px;width:max-content;max-width:100%}.hero h1 span{color:var(--orange)}.scene{position:absolute;z-index:1;top:2%;right:-8%;width:66%;height:95%;pointer-events:auto;touch-action:pan-y}.scene canvas{width:100%;height:100%;display:block;transition:opacity .8s}.scene-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(220px,42vw,620px);color:var(--orange);text-shadow:12px 18px 0 #bd3415;transform:rotate(-16deg)}.scene.loaded .scene-fallback{display:none}.hero-bottom{position:absolute;bottom:44px;left:4.2%;right:4.2%;display:flex;align-items:flex-end;justify-content:space-between;z-index:3;pointer-events:none}.hero-bottom p{font-size:22px;line-height:1.45;letter-spacing:-.6px}.hero-bottom strong{font-weight:600}.hero-bottom a,.hero-bottom button{pointer-events:auto}.text-link{display:inline-flex;gap:40px;align-items:center;margin-top:27px;padding-bottom:8px;border-bottom:1px solid var(--ink);font-size:17px;font-weight:600}.text-link span{transition:transform .25s}.text-link:hover span{transform:translateY(5px)}.ribbon{background:var(--lilac);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);overflow:hidden;padding:20px 0}.ribbon>div{white-space:nowrap;font-size:30px;font-weight:600;letter-spacing:-1px;display:flex;align-items:center;gap:45px;width:max-content;animation:ribbon 32s linear infinite}.ribbon span{font-size:39px;line-height:1;color:var(--ink)}@keyframes ribbon{to{transform:translateX(-50%)}}
.section-pad{padding:100px 6%}.expertise{background:var(--orange)}.section-intro{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:75px}.eyebrow{font-size:16px;font-weight:600;letter-spacing:.03em;display:block}.section-intro h2{font-size:clamp(36px,4.5vw,66px);letter-spacing:-.055em;line-height:1.05;width:57%}.service{display:grid;grid-template-columns:70px 1fr 260px 75px;align-items:center;border-top:1px solid #24251f65;gap:20px;padding:45px 0;position:relative}.service:last-child{border-bottom:1px solid #24251f65}.service-number{font-size:18px;align-self:start;padding-top:10px}.service h3{font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.055em;font-weight:600}.service h3 span{display:block;color:var(--paper)}.service p{font-size:18px;margin-top:22px;line-height:1.45;max-width:490px}.service-art{justify-self:center;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.browser-art{width:215px;height:165px;border:2px solid var(--ink);border-radius:12px;background:var(--paper);transform:rotate(-8deg);box-shadow:9px 10px 0 #24251f}.browser-bar{height:30px;border-bottom:2px solid var(--ink);display:flex;align-items:center;gap:5px;padding:0 10px}.browser-bar i,.browser-bar span{width:7px;height:7px;border-radius:50%;background:var(--ink);display:inline-block}.browser-content{font-size:57px;letter-spacing:-5px;padding:15px;font-weight:800;position:relative}.browser-content span{position:absolute;color:var(--orange);right:7px;bottom:-24px;font-size:80px}.service:hover .browser-art{transform:rotate(4deg) translateY(-6px)}.blocks-art{display:grid;grid-template-columns:78px 78px;transform:rotate(12deg);gap:5px}.blocks-art span{width:78px;height:78px;display:grid;place-items:center;border:2px solid var(--ink);font-size:56px;border-radius:17px;background:var(--lilac);box-shadow:5px 5px 0 var(--ink)}.blocks-art span:first-child{grid-column:2;background:var(--paper)}.blocks-art span:last-child{background:var(--ink);color:var(--paper)}.service:hover .blocks-art{transform:rotate(-8deg) translateY(-6px)}
.fidel{background:#dce6c8;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px;min-height:720px;overflow:hidden}.fidel h2{font-size:clamp(40px,4.7vw,68px);font-weight:600;line-height:1.02;letter-spacing:-.055em;margin:30px 0 25px}.fidel p{font-size:21px;line-height:1.45;margin-bottom:34px}.fidel-visual{position:relative;min-height:490px;perspective:1000px;isolation:isolate}.loyalty-card{position:absolute;width:330px;height:375px;border-radius:23px;padding:26px;box-shadow:8px 18px 30px #263a2425}.card-front{background:#f6f1de;color:#244532;left:20%;top:85px;transform:rotate(10deg) rotateY(-12deg);z-index:2;transition:transform .5s}.card-back{background:#366648;color:#e7f3cc;left:4%;top:15px;transform:rotate(-17deg);display:flex;flex-direction:column;justify-content:space-between;transition:transform .5s}.card-back b{font-size:59px;line-height:.98;letter-spacing:-3px}.card-back>span:last-child{font-size:45px}.card-heading{display:flex;justify-content:space-between;align-items:center;font-size:27px;font-weight:800;letter-spacing:-1px}.card-heading span{font-size:35px}.card-message{font-size:66px;line-height:.95;letter-spacing:-3px;margin-top:25px;font-weight:600}.stamps{display:flex;gap:7px;margin-top:30px}.stamps i,.stamps span{font-style:normal;border:1px solid #244532;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:26px}.stamps i:last-child,.stamps span:last-child{background:#dce6c8}.card-footer{font-size:16px;margin-top:19px}.fidel-visual:hover .card-front{transform:rotate(2deg) rotateY(4deg) translateY(-10px)}.fidel-visual:hover .card-back{transform:rotate(-23deg) translateX(-10px)}.orbit{position:absolute;border:1px solid #24453233;border-radius:50%;width:520px;height:400px;left:-7%;top:70px;transform:rotate(-30deg)}.orbit-two{transform:rotate(50deg);width:450px}
.founder{display:grid;grid-template-columns:200px 1fr auto;gap:45px;align-items:center;background:var(--lilac);padding-top:75px;padding-bottom:75px}.founder h2{font-size:clamp(32px,3.6vw,52px);line-height:1.05;letter-spacing:-.05em;margin:15px 0}.founder p{font-size:19px}.founder-icon{width:170px;height:180px;position:relative;background:var(--paper);border-radius:90px 90px 15px 15px;transform:rotate(-8deg);display:grid;place-items:center;border:1px solid var(--ink)}.founder-icon>span{font-size:125px;letter-spacing:-15px;line-height:1;margin-left:-14px;font-weight:800}.outline{border:1px solid var(--ink)}.contact{background:var(--ink);color:var(--paper);padding-top:47px;padding-bottom:30px;overflow:hidden}.contact-top{display:flex;justify-content:space-between;font-size:18px}.contact-top>a{font-size:16px}.contact-title{display:block;position:relative;font-size:clamp(80px,13.8vw,220px);font-weight:800;line-height:.86;letter-spacing:-.07em;margin:75px 0 65px;transition:color .25s}.contact-title:hover{color:var(--lilac)}.contact-bottom{border-top:1px solid #f3f0e640;display:flex;justify-content:space-between;gap:25px;padding-top:25px;font-size:16px}.contact-bottom>a{font-size:20px}
@media(min-width:1600px){.hero{min-height:850px}.hero h1{margin-top:75px}.hero-bottom p{font-size:26px}.scene{right:-5%}.service{grid-template-columns:90px 1fr 350px 75px}.fidel-visual{max-width:600px}.card-front{left:26%}}
@media(max-width:1100px){.header nav{gap:22px}.hero{min-height:730px}.hero h1{font-size:11vw;margin-top:70px}.scene{width:75%;right:-16%;top:8%}.service{grid-template-columns:40px 1fr 190px 60px;gap:15px}.browser-art{scale:.8}.blocks-art{scale:.85}.founder{grid-template-columns:130px 1fr;gap:35px}.founder-icon{width:125px;height:140px}.founder-icon>span{font-size:95px}.founder .button{grid-column:2}.loyalty-card{width:280px;height:350px}.card-message{font-size:60px}.stamps{gap:4px}.stamps i{width:32px;height:32px}.card-footer{font-size:16px}.fidel{gap:0;padding-left:5%;padding-right:5%}.section-pad{padding-left:5%;padding-right:5%}}
@media(max-width:700px){.header{height:90px;margin:0 6%}.brand{font-size:27px}.brand-small{font-size:16px;margin-top:6px}.header nav{display:none}.button.small{font-size:16px;padding-left:16px;gap:12px}.hero{height:auto;min-height:920px;max-height:none;padding:24px 6% 34px}.hero-top{font-size:16px}.hero-top-right{display:none}.hero h1{font-size:clamp(58px,13.8vw,97px);margin-top:35px;line-height:.92;letter-spacing:-.065em}.scene{width:125%;height:500px;top:190px;right:-12.5%}.hero-bottom{left:6%;right:6%;bottom:32px}.hero-bottom p{font-size:20px}.text-link{font-size:17px;margin-top:24px}.ribbon{padding:15px 0}.ribbon>div{font-size:23px;gap:25px}.ribbon span{font-size:30px}.section-pad{padding:60px 6%}.section-intro{display:block;margin-bottom:35px}.eyebrow{font-size:16px}.section-intro h2{width:100%;margin-top:22px;font-size:39px}.service{grid-template-columns:26px 1fr 44px;padding:34px 0;gap:12px}.service-number{font-size:16px;padding-top:5px}.service h3{font-size:clamp(34px,8.8vw,48px)}.service p{font-size:17px;margin-top:19px}.service-art{display:none}.fidel{display:block;padding-bottom:52px}.fidel h2{font-size:43px;margin:23px 0}.fidel p{font-size:20px}.fidel-visual{min-height:460px;margin-top:50px}.loyalty-card{width:265px;height:330px;padding:22px}.card-front{top:70px;left:19%}.card-back{left:2%;top:15px}.card-message{font-size:58px}.card-heading{font-size:25px}.card-footer{font-size:16px}.stamps{margin-top:23px}.stamps i{width:30px;height:30px;font-size:22px}.orbit{width:400px;height:350px;left:-15%}.founder{grid-template-columns:75px 1fr;gap:25px;display:grid}.founder-icon{width:75px;height:92px;border-radius:45px 45px 10px 10px;align-self:start;margin-top:37px}.founder-icon>span{font-size:68px;letter-spacing:-10px;margin-left:-7px}.founder .eyebrow{font-size:16px}.founder h2{font-size:35px}.founder p{font-size:18px}.founder .button{grid-column:1/-1;margin-top:6px;justify-self:start}.desktop{display:none}.contact{padding-top:30px;padding-bottom:25px}.contact-top{font-size:16px;gap:25px}.contact-top a{font-size:16px;white-space:nowrap}.contact-title{font-size:16vw;line-height:.95;margin:55px 0 40px}.contact-bottom{display:flex;flex-wrap:wrap;font-size:16px;gap:15px;justify-content:space-between}.contact-bottom>a{width:100%;font-size:20px;margin-bottom:10px}.contact-bottom>span:last-child{display:none}}
@media(max-width:370px){.hero{min-height:890px}.scene{top:175px;height:450px}.hero h1{font-size:13.5vw}.card-front{left:12%}.loyalty-card{width:245px}.fidel h2{font-size:39px}.stamps i{width:28px;height:28px}.founder{gap:19px}.founder h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(min-width:701px) and (max-height:800px){.hero{min-height:620px}.hero h1{margin-top:38px}.hero-bottom{bottom:32px}.hero-bottom p{font-size:20px}.scene{width:61%;right:-5%;height:94%;top:4%}}


@media(min-width:701px){}

/* Restrained identity: a custom N, rounded links and simple loyalty marks. */
.brand{gap:12px}.brand-mark{width:52px;height:52px;display:block;flex-shrink:0}
.button,.button.small{padding:17px 27px;gap:0}.button.small{padding:14px 23px}
.service{grid-template-columns:70px 1fr 260px}.service:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.ribbon .ribbon-divider{display:inline-block;width:36px;height:14px;border:2px solid currentColor;border-radius:20px;transform:rotate(-30deg);flex-shrink:0}
.browser-content .hello-dot{width:28px;height:28px;background:var(--orange);border-radius:50%;right:15px;bottom:6px}
.fidel-loop{position:absolute;right:-2%;top:25px;width:110px;height:73px;border:15px solid var(--orange);border-radius:50%;transform:rotate(-35deg);z-index:3}
.scene-fallback{font-size:inherit;text-shadow:none;transform:none}.scene-fallback>span{width:52%;aspect-ratio:1;border:clamp(35px,5vw,80px) solid var(--orange);border-radius:35%;transform:rotate(-20deg);box-shadow:inset 8px 10px 0 #be3d1d,10px 12px 0 #be3d1d}
@media(min-width:1600px){.service{grid-template-columns:90px 1fr 350px}}
@media(max-width:1100px){.service{grid-template-columns:40px 1fr 190px}}
@media(max-width:700px){.brand{gap:8px}.brand-mark{width:43px;height:43px}.button.small{padding:13px 19px}.service{grid-template-columns:26px 1fr}.fidel-loop{width:83px;height:57px;border-width:11px;right:0;top:13px}}
.contact-title>span{position:absolute;right:1%;top:-6%;font-size:1.8em;font-weight:400;line-height:1;color:var(--orange);transition:transform .5s}.contact-title:hover>span{transform:translate(12px,-12px)}@media(max-width:700px){.contact-title>span{font-size:1.3em;right:0;top:15%}}

/* Section FAQ & SEO Content */
.faq{background:var(--paper);border-top:1px solid var(--ink)}
.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:40px}
.faq-item{border:1px solid var(--ink);border-radius:18px;background:#fcfbf7;padding:26px 28px;transition:transform .2s,box-shadow .2s;box-shadow:4px 4px 0 var(--ink)}
.faq-item:hover{transform:translateY(-2px);box-shadow:6px 6px 0 var(--ink)}
.faq-item summary{font-size:21px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;letter-spacing:-.03em;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:28px;line-height:1;font-weight:400;color:var(--orange);transition:transform .25s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{font-size:17px;line-height:1.55;margin-top:16px;color:#2f302b}
.noscript-banner{background:var(--ink);color:var(--paper);padding:14px 4.2%;font-size:15px;text-align:center;border-bottom:1px solid var(--orange)}
.noscript-banner a{color:var(--orange);text-decoration:underline}

