@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#fff9ef;--ink:#302317;--muted:#705d49;--teal:#a64012;--line:#e9d6bb;--white:#fff;--heading:'Manrope',sans-serif;--body:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--body)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #da7b3c;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:600;letter-spacing:-.055em;line-height:1.12}p+p{margin-top:14px}.wrap{max-width:1250px;margin:auto;padding-inline:48px}.skip{position:fixed;top:-80px;z-index:10;padding:12px;background:white}.skip:focus{top:8px}header{max-width:1440px;margin:auto;height:100px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px;font-weight:700;font-size:16px}.monogram{font-family:var(--heading);font-size:21px;letter-spacing:-2px;border:1px solid var(--ink);padding:3px 8px}.monogram span{font-size:14px;margin-left:6px;letter-spacing:0;color:var(--teal)}nav{display:flex;gap:28px;align-items:center;font-size:14px}.nav-cv{border-bottom:1px solid var(--ink);padding:5px 0}.hero{display:grid;grid-template-columns:1.16fr 1fr;gap:40px;padding-top:65px;padding-bottom:72px;min-height:640px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700;color:var(--teal);margin-bottom:22px}h1{font-size:clamp(40px,4.8vw,66px)}h1 em{font-style:normal;color:var(--teal)}.intro{font-size:18px;line-height:1.7;max-width:540px;margin-top:25px;color:var(--muted)}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:var(--teal);color:white;border-radius:5px;padding:14px 20px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#86310b;text-decoration:none;transform:translateY(-2px)}.text-link{font-size:14px;border-bottom:1px solid currentColor;padding-block:4px}.hero-note{font-size:12px;color:var(--muted);margin-top:23px}.hero-note span{margin-inline:8px}.hero-art{position:relative;background:#f9df89;border-radius:12px;min-height:415px;padding:35px 22px 24px;background-image:linear-gradient(#ffffff50 1px,transparent 1px),linear-gradient(90deg,#ffffff50 1px,transparent 1px);background-size:28px 28px}.art-label{font-size:11px;display:flex;gap:8px;align-items:center;margin-bottom:35px;letter-spacing:.02em}.dot{height:7px;width:7px;background:var(--teal);border-radius:100%}.hero-screen{width:95%;border:5px solid white;border-radius:8px;box-shadow:0 18px 35px #30231720;transform:rotate(-4deg)}.hero-phone{position:absolute;height:255px;width:auto;right:20px;bottom:56px;border:5px solid #3d271a;border-radius:20px;transform:rotate(7deg);box-shadow:0 20px 30px #30231725}.art-note{position:absolute;bottom:20px;left:22px;display:grid;font-size:10px;color:var(--muted);gap:3px}.art-note strong{font-size:11px;color:var(--ink)}.proof{display:grid;grid-template-columns:repeat(4,1fr);padding-top:28px;padding-bottom:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:24px}.proof div{display:grid;gap:5px}.proof strong{font:600 30px/1.25 var(--heading);letter-spacing:-.045em}.proof span{font-size:12px;color:var(--muted)}.work{padding-top:90px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}h2{font-size:clamp(30px,3.5vw,43px)}.section-heading>p{max-width:330px;font-size:15px;color:var(--muted)}.project{border-top:1px solid var(--line);padding:28px 0 42px}.project-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:33px}.number{font-family:var(--heading);font-size:15px}.status{font-size:11px;background:#ffedbd;color:#7a491e;padding:5px 12px;border-radius:30px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.project .eyebrow{margin-bottom:12px}h3{font-size:clamp(28px,3vw,37px);margin-bottom:22px}.project p{font-size:15px;color:var(--muted)}h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-top:22px;margin-bottom:8px}.project-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:22px}.project-links a{font-size:12px;font-weight:600;border-bottom:1px solid var(--teal);color:var(--teal)}.project p.access{font-size:12px;margin-top:15px}.ada-visual{background:#fff0c5;border:1px solid #efd291;border-radius:9px;padding:30px;margin-top:30px}.system-node{border:1px solid #e5c386;background:#fffcf5;border-radius:5px;padding:18px;font-size:15px;font-weight:600}.system-node span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}.system-node.primary{background:var(--teal);color:white;border-color:var(--teal)}.primary span{color:#ffecd2}.flow-arrow{text-align:center;color:#a7783e;padding:5px;font-size:20px}.system-support{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;font-size:10px}.system-support span{border:1px solid #dfc08a;padding:5px 7px;border-radius:4px}.project p.visual-note{font-size:11px;margin-top:15px;color:#8c6b3f}.image-button{display:block;padding:0;border:0;background:#ffeab0;border-radius:7px;overflow:hidden;cursor:zoom-in;width:100%;text-align:left;position:relative}.image-button img{transition:transform .35s}.image-button:hover img{transform:scale(1.025)}.image-button span{display:block;font-size:11px;padding:8px 12px;color:var(--teal)}figure{margin-top:34px}figcaption{font-size:11px;color:var(--muted);margin-top:10px}.outcome{border-left:2px solid var(--teal);padding-left:15px;margin-top:25px;display:grid;gap:5px}.outcome strong{font-family:var(--heading);font-size:21px;letter-spacing:-.03em}.outcome span{font-size:12px;color:var(--muted)}details{margin-top:28px;border:1px solid var(--line);border-radius:5px}summary{padding:13px 16px;cursor:pointer;font-size:12px;font-weight:600;display:flex;justify-content:space-between;list-style:none}summary::-webkit-details-marker{display:none}details[open] summary .disclosure-icon{transform:rotate(45deg)}details p{padding:0 16px 16px;font-size:13px!important}.academy-images figure:first-child{margin-top:20px}.academy-images figure+figure{margin-top:24px}.fantastec ul{font-size:14px;color:var(--muted);padding-left:18px}.fantastec li{padding-left:3px;margin-bottom:12px}.fantastec-results{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-block:25px}.fantastec-results div{display:grid;gap:7px}.fantastec-results strong{font:600 22px var(--heading);letter-spacing:-.04em}.fantastec-results span{font-size:11px;color:var(--muted)}.phone-gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px;background:#fff0c5;padding:30px 24px 24px;border-radius:9px;margin-top:40px}.phone-gallery figure{margin:0}.phone-gallery .image-button{border:5px solid #3d271a;border-radius:22px;background:white}.phone-gallery figure:nth-child(2){margin-top:65px}.phone-gallery .visual-note{grid-column:1/-1}.approach{padding-top:70px;padding-bottom:75px;border-top:1px solid var(--line);margin-top:20px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.large-copy{font-size:22px;line-height:1.5;margin-bottom:20px;letter-spacing:-.025em}.approach-grid p:not(.large-copy){color:var(--muted);font-size:15px}.approach-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.approach-tags span{font-size:11px;border:1px solid var(--line);padding:6px 10px;border-radius:3px}.contact{background:#ffe398;border-radius:10px;padding-top:45px;padding-bottom:45px;display:grid;grid-template-columns:1.4fr 1fr;gap:55px}.contact p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:490px;margin-top:20px}.contact-actions{display:flex;align-items:stretch;flex-direction:column;justify-content:center;gap:12px;max-width:270px;justify-self:end;width:100%}.button.secondary{background:transparent;border:1px solid #d5a35f;color:var(--ink)}.button small{font-weight:400;font-size:10px}.contact-actions .text-link{align-self:start;margin-top:8px}footer{padding-block:32px;display:flex;justify-content:space-between;gap:25px;font-size:11px;color:var(--muted)}footer div{display:flex;gap:22px}dialog{border:0;border-radius:10px;width:min(1150px,95vw);max-width:95vw;padding:0;background:#fff9ef;color:var(--ink);max-height:92vh}dialog::backdrop{background:#2a1b10ea;backdrop-filter:blur(5px)}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;border-bottom:1px solid var(--line)}.viewer-bar p{font-size:13px}.viewer-bar button{flex-shrink:0;background:var(--teal);border:0;border-radius:4px;color:white;padding:7px 12px;cursor:pointer;font-size:13px}.viewer-scroll{max-height:78vh;overflow:auto;padding:20px}.viewer-scroll img{max-width:100%;height:auto;margin:auto}body.modal-open{overflow:hidden}
@media(min-width:1500px){.hero{padding-top:90px;padding-bottom:95px}}@media(max-width:1000px){.wrap{padding-inline:30px}header{padding-inline:30px}.hero{gap:25px}.hero-art{min-height:345px}.hero-phone{height:200px;bottom:60px}.project-grid,.approach-grid{gap:35px}.proof strong{font-size:25px}.phone-gallery{gap:12px;padding:20px 15px}}@media(max-width:720px){header{height:82px;padding:0 22px}.brand{font-size:13px;gap:9px}nav{gap:15px;font-size:12px}nav a:nth-child(2){display:none}.wrap{padding-inline:22px}.hero{grid-template-columns:1fr;padding-top:28px;gap:40px;padding-bottom:40px;min-height:auto}h1{font-size:45px}.intro{font-size:16px}.hero-art{min-height:335px;max-width:480px;width:100%;justify-self:center}.hero-phone{height:225px;bottom:55px}.hero-screen{max-width:370px}.proof{grid-template-columns:1fr 1fr;gap:25px 16px;padding-block:25px}.proof strong{font-size:27px}.proof span{font-size:11px}.work{padding-top:55px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;max-width:none}.section-heading .eyebrow{margin-bottom:15px}.project{padding-top:22px;padding-bottom:30px}.project-top{margin-bottom:25px}.status{font-size:10px;text-align:right;max-width:80%}.project-grid,.approach-grid{grid-template-columns:1fr;gap:15px}h3{font-size:33px}.ada-visual{margin-top:10px;padding:22px}figure{margin-top:12px}.academy-images figure:first-child{margin-top:10px}.phone-gallery{margin-top:10px;max-width:430px;justify-self:center;width:100%;padding:25px}.approach{padding-top:45px;padding-bottom:45px}.approach-grid{gap:22px}.contact{margin-inline:15px;padding:28px 22px;grid-template-columns:1fr;gap:25px}.contact-actions{justify-self:start;max-width:none}.contact h2{font-size:32px}footer{flex-direction:column;gap:12px;padding-block:25px}.viewer-bar{padding:12px}.viewer-scroll{padding:10px}.viewer-bar p{font-size:11px}.actions{gap:20px}.fantastec-results strong{font-size:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Viewing guidance and clear technology disclosures */
.project p.access{font-size:14px;line-height:1.65;margin-top:22px;padding:18px 20px;border-left:4px solid #c65315;border-radius:0 6px 6px 0;background:#ffedb5;color:#493019}
.project p.access::before{content:"Viewing & access";display:block;font-weight:700;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#933807;margin-bottom:7px}
details{background:#fff3d4;border-color:#d6aa68;box-shadow:0 2px 0 #eedaba}summary{padding:17px 18px;font-size:14px;color:#873710;gap:14px}summary:hover{background:#ffe9b1}.disclosure-action{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}.disclosure-label{font-size:11px;text-decoration:underline;text-underline-offset:3px}.disclosure-icon{font-size:22px;line-height:1;transition:transform .2s}details[open] summary{border-bottom:1px solid #e6c99a;margin-bottom:16px}details p{font-size:14px!important;color:#59402b!important}.brand{white-space:nowrap}.brand:hover{text-decoration:none}
@media(max-width:420px){nav a:first-child{display:none}nav .nav-cv{white-space:nowrap}.project p.access{padding:16px}summary{font-size:13px;padding:16px 13px}.disclosure-action{gap:9px}}
