:root{color-scheme:light;--page: #fbf6ea;--surface: #fffdf7;--surface-soft: #f5eedf;--ink: #2b2233;--muted: #645a6c;--line: #e6dece;--brand: #8a6fd1;--brand-strong: #5a3fa8;--link: #5a3fa8;--tint: #e9e1fa;--accent-one: #fbefb5;--accent-two: #cfe8cf;--thread: #c9a24b;--button-bg: #5a3fa8;--button-hover: #46308a;--button-ink: #ffffff;--focus: #5a3fa8;--shadow: 0 1px 2px rgb(61 43 87 / 6%), 0 14px 36px rgb(61 43 87 / 10%);--radius-card: 6px 18px 18px 6px;--radius-button: 10px;--display: "Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--body: "DM Sans", "Aptos", "Segoe UI", sans-serif;--label: "DM Sans", "Segoe UI", sans-serif;--note: "Caveat", "Segoe Print", cursive;--body-size: 1.0625rem;--measure: 31em;--display-weight: 650;--display-tracking: -.035em;--brand-gradient: linear-gradient(135deg, #e9e1fa, #fbefb5 55%, #cfe8cf);--aso-oke: repeating-linear-gradient( 90deg, #8a6fd1 0 18px, #fbefb5 18px 26px, #cfe8cf 26px 44px, #c9a24b 44px 46px, #5a3fa8 46px 52px, #fbefb5 52px 60px );--aso-oke-vertical: repeating-linear-gradient( 180deg, #8a6fd1 0 18px, #fbefb5 18px 26px, #cfe8cf 26px 44px, #c9a24b 44px 46px, #5a3fa8 46px 52px );--ankara: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Crect width='56' height='56' fill='%23FBEFB5'/%3E%3Cpath d='M0 0h14A14 14 0 0 1 0 14zM56 56H42a14 14 0 0 1 14-14zM56 0v14A14 14 0 0 1 42 0zM0 56V42a14 14 0 0 1 14 14z' fill='%235A3FA8'/%3E%3Ccircle cx='28' cy='28' r='15' fill='%238A6FD1'/%3E%3Ccircle cx='28' cy='28' r='8' fill='%23CFE8CF'/%3E%3Ccircle cx='28' cy='28' r='3' fill='%23C9A24B'/%3E%3Cpath d='M28 0v6M28 50v6M0 28h6M50 28h6' stroke='%235A3FA8' stroke-width='2'/%3E%3C/svg%3E");--adire: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cg fill='none' stroke='%238A6FD1' stroke-opacity='.32' stroke-width='1.4'%3E%3Ccircle cx='22' cy='22' r='7'/%3E%3Ccircle cx='22' cy='22' r='13' stroke-dasharray='2 3'/%3E%3Cpath d='M0 0l6 6M44 0l-6 6M0 44l6-6M44 44l-6-6'/%3E%3C/g%3E%3Ccircle cx='22' cy='22' r='2' fill='%238A6FD1' fill-opacity='.4'/%3E%3C/svg%3E");--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .27 0 0 0 0 .2 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");--cover: var(--ankara);--progress: var(--aso-oke)}*{box-sizing:border-box}html{background:var(--page);-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;background:var(--page);color:var(--ink);font-family:var(--body);font-size:var(--body-size);line-height:1.6;transition:background-color .3s ease,color .3s ease}body{background-image:var(--grain)}button,a,input,select,textarea{color:inherit;font:inherit}a{text-decoration:none}button{cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}main:focus,h1:focus,h2:focus{outline:none}::selection{color:#2b2233;background:#fbefb5}img{max-width:100%}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:10px 16px;border-radius:10px;background:var(--ink);color:var(--page);font-weight:700;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-shell{min-height:100vh;overflow-x:clip}.page-width{width:min(1200px,calc(100% - 48px));margin-inline:auto}.eyebrow{display:block;margin:0 0 14px;color:var(--brand-strong);font-family:var(--label);font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.hero h1,.section-title h1,.section-title h2,.case-hero h1,.cta-panel h2{margin:0;font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);line-height:1.06;text-wrap:balance}.section-title{max-width:780px;margin-bottom:34px}.section-title h1{font-size:clamp(2.5rem,5.4vw,4.5rem)}.section-title h2{font-size:clamp(2.1rem,4vw,3.4rem)}.lede{max-width:650px;margin:16px 0 0;color:var(--muted);font-size:1.1rem}.block-title{margin:0 0 20px;font-family:var(--display);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:var(--display-weight);letter-spacing:-.02em}.text-link{display:inline-flex;min-height:44px;align-items:center;gap:8px;margin-top:22px;padding:0;border:0;background:none;color:var(--link);font-size:.94rem;font-weight:700;background-image:linear-gradient(currentColor,currentColor);background-position:0 85%;background-repeat:no-repeat;background-size:0 2px;transition:background-size .3s ease}.text-link:hover{background-size:100% 2px}.small-print{margin:12px 0 0;color:var(--muted);font-size:.86rem}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:10px;padding:0 20px;border:1px solid transparent;border-radius:var(--radius-button);font-size:.95rem;font-weight:700;line-height:1.2;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.5;transform:none}.button-primary{background:var(--button-bg);color:var(--button-ink)}.button-primary:hover:not(:disabled){background:var(--button-hover)}.button-primary{box-shadow:0 3px #3b2873}.button-primary:active{box-shadow:0 1px #3b2873}.button-secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.button-secondary:hover{border-color:var(--brand)}.button-whatsapp{background:#1f7a4d;color:#fff}.button-small{min-height:44px;padding:0 16px;font-size:.86rem}.tag-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.tag{display:inline-flex;min-height:26px;align-items:center;padding:2px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.76rem;font-weight:500}.tag-discipline{border-color:transparent;background:var(--tint);color:var(--brand-strong);font-weight:700}.notice{max-width:860px;margin:0 0 28px;padding:16px 18px;border:1px dashed color-mix(in srgb,var(--thread) 70%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent-one) 28%,var(--surface));color:var(--ink);font-size:.93rem}.site-header{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:10px max(24px,calc((100% - 1200px)/2));border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--page) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.site-header:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:3px;background:var(--aso-oke);opacity:.55}.wordmark{display:inline-flex;min-height:44px;align-items:center;gap:10px;font-family:var(--display);font-size:1.08rem;font-weight:650;letter-spacing:-.02em;white-space:nowrap}.wordmark-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:11px 11px 11px 3px;background:var(--button-bg);color:var(--button-ink);font-family:var(--body);font-size:.74rem;font-weight:700}.main-nav{display:flex;align-items:center;gap:4px}.main-nav a{position:relative;display:inline-flex;min-height:44px;align-items:center;padding:0 12px;border-radius:10px;color:var(--muted);font-size:.93rem;font-weight:500}.main-nav a:hover{color:var(--ink)}.main-nav a[aria-current=page]{color:var(--ink);font-weight:700}.main-nav a[aria-current=page]{background:var(--tint)}.main-nav a[aria-current=page]:after{content:"";position:absolute;top:100%;right:14px;width:8px;height:14px;background:var(--brand);clip-path:polygon(0 0,100% 0,100% 100%,50% 70%,0 100%)}.main-nav a.nav-cta{margin-left:8px;padding:0 18px;border-radius:var(--radius-button);background:var(--button-bg);color:var(--button-ink);font-weight:700}.main-nav a.nav-cta:hover,.main-nav a.nav-cta[aria-current=page]{background:var(--button-hover);color:var(--button-ink)}.main-nav a.nav-cta[aria-current=page]:after{display:none}.mobile-tabs{display:none}.hero{position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;margin-top:40px;padding:64px}.hero{border-radius:10px;background:linear-gradient(90deg,var(--surface) 0 calc(55% - 18px),#efe6d2 55%,var(--surface) calc(55% + 18px));box-shadow:var(--shadow),0 0 0 1px var(--line)}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(2.2rem,4vw,3.6rem)}.hero-badge{display:inline-flex;max-width:100%;align-items:baseline;gap:6px;margin:0 0 18px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--tint);color:var(--brand-strong);font-family:var(--label);font-size:.85rem;font-weight:700;line-height:1.4}.hero-badge span{color:var(--thread)}.hero .hero-roles{margin-top:18px;color:var(--ink);font-size:clamp(1rem,1.4vw,1.1rem);font-weight:600}.hero-roles span{white-space:nowrap}.hero-description{max-width:540px;margin:22px 0 0;color:var(--muted);font-size:clamp(1.05rem,1.6vw,1.22rem)}.open-to{max-width:540px;margin:14px 0 0;color:var(--ink);font-size:.92rem;font-weight:500;line-height:1.5}.open-to-contact{max-width:var(--measure);margin:0 0 20px}.hero-description a{color:var(--link);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.hero-art{position:relative;display:grid;min-height:380px;place-items:center}.hero-page{position:relative;display:flex;width:min(320px,82%);aspect-ratio:.8;flex-direction:column;justify-content:space-between;padding:30px;overflow:hidden;border:1px solid var(--line);border-radius:6px 16px 16px 6px;background:var(--surface);box-shadow:var(--shadow);transform:rotate(3deg)}.hero-page:after{content:"";position:absolute;right:0;bottom:0;left:0;height:30%;background:var(--ankara);background-size:56px;clip-path:polygon(0 12%,8% 4%,18% 10%,30% 2%,44% 9%,58% 3%,70% 10%,84% 2%,94% 8%,100% 3%,100% 100%,0 100%)}.hero-art-mark{position:relative;z-index:1;color:var(--brand-strong);font-family:var(--display);font-size:clamp(5rem,10vw,8.5rem);font-weight:650;letter-spacing:-.08em;line-height:1}.hero-art-caption{position:relative;z-index:1;max-width:170px;margin-bottom:34%;font-family:var(--display);font-size:1.3rem;font-weight:650;line-height:1.15}.woven-stripe{position:absolute;top:0;right:22px;width:14px;height:64px;background:var(--aso-oke-vertical, var(--brand-gradient));clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%)}.margin-note{position:absolute;padding:8px 14px;border-radius:4px;background:var(--accent-one);color:#2b2233;box-shadow:0 6px 16px #3d2b571f;font-family:var(--note);font-size:1.35rem;font-weight:600;line-height:1.2}.note-top{top:6%;right:0;transform:rotate(6deg)}.note-bottom{bottom:8%;left:0;background:var(--accent-two);transform:rotate(-5deg)}.proof-strip{padding-block:28px}.proof-strip p{margin:0;color:var(--muted);font-size:.98rem}.proof-strip .eyebrow{display:inline;margin-right:12px}.section{padding-block:84px}.page-intro{min-height:60vh;padding-top:72px}.pillars-section{position:relative;background:var(--surface-soft)}.pillars-section:before,.pillars-section:after{content:"";position:absolute;right:0;left:0;height:8px;background:var(--aso-oke);opacity:.7}.pillars-section:before{top:0}.pillars-section:after{bottom:0}.project-grid,.pillar-grid,.service-grid,.about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-grid>:first-child{grid-column:span 2}.pillar-card,.service-card,.about-card,.contact-card,.detail-card{position:relative;min-width:0;padding:26px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.pillar-card,.service-card,.about-card,.contact-card,.detail-card{border-radius:12px;box-shadow:var(--shadow)}.pillar-card h3,.service-card h2,.service-card h3,.about-card h2,.contact-card h2,.detail-card h2{margin:0;font-family:var(--display);font-size:1.45rem;font-weight:var(--display-weight);letter-spacing:-.02em;line-height:1.2}.pillar-card p,.service-card p,.about-card p,.about-card li{color:var(--muted);font-size:.97rem}.pillar-number,.service-index,.project-index{color:var(--brand-strong);font-family:var(--label);font-size:.78rem;font-weight:700;letter-spacing:.08em}.pillar-card .pillar-number{display:block;margin-bottom:22px}.pillar-card>svg{display:block;margin-bottom:14px;color:var(--brand-strong)}.pillar-card p{margin-bottom:0}.project-card{position:relative;display:grid;min-width:0;grid-template-columns:34px 1fr;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.project-card{box-shadow:var(--shadow)}.project-card:hover{transform:translateY(-4px);border-color:var(--brand);box-shadow:var(--shadow)}.project-card:hover{transform:translateY(-4px) rotate(-.6deg)}.project-spine{display:flex;grid-row:1 / span 2;align-items:center;justify-content:center;padding-block:16px;background:var(--aso-oke-vertical)}.project-cover{position:relative;display:flex;height:92px;align-items:flex-start;padding:14px 18px;background:var(--cover);background-size:56px;clip-path:polygon(0 0,100% 0,100% 86%,92% 94%,80% 88%,66% 96%,52% 89%,38% 97%,24% 90%,10% 96%,0 90%)}.project-cover .project-index{padding:3px 9px;border-radius:6px;background:var(--surface);color:var(--brand-strong)}.project-card-large .project-cover{height:120px}.project-body{display:flex;min-width:0;flex-direction:column;padding:10px 22px 22px}.project-body .eyebrow{margin:10px 0 6px;font-size:.7rem}.project-name{margin:0;font-family:var(--display);font-size:1.6rem;font-weight:var(--display-weight);letter-spacing:-.025em;line-height:1.15}.project-card-large .project-name{font-size:clamp(1.7rem,2.6vw,2.2rem)}.project-role{margin-top:4px;color:var(--muted);font-size:.88rem}.project-summary{margin:10px 0 0;color:var(--muted);font-size:.95rem}.project-cta{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:18px;color:var(--link);font-size:.9rem;font-weight:700}.service-card{display:flex;min-height:230px;flex-direction:column;align-items:flex-start;transition:transform .22s ease,border-color .22s ease}a.service-card:hover{transform:translateY(-4px);border-color:var(--brand)}.service-index{margin-bottom:20px}.service-card .text-link{margin-top:auto}.price-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:18px 0 0!important;color:var(--muted);font-size:.9rem!important}.price-line strong{color:var(--ink);font-size:1.1rem}.cta-panel{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;padding:clamp(28px,5vw,56px);overflow:hidden;border-radius:20px;background:var(--brand-gradient);color:#2b2233}.cta-panel h2{font-size:clamp(2rem,4vw,3.2rem)}.cta-panel .lede,.cta-panel .eyebrow{color:#3a2f43}.cta-panel .button-row{margin-top:0}.work-block{margin-top:32px}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}.filter-row a{display:inline-flex;min-height:44px;align-items:center;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.92rem;font-weight:700}.filter-row a:hover{border-color:var(--brand);color:var(--ink)}.filter-row a[aria-current=page]{border-color:var(--button-bg);background:var(--button-bg);color:var(--button-ink)}.filter-empty{margin:0}.reading-progress{position:fixed;z-index:30;top:0;right:0;left:0;height:5px;pointer-events:none}.reading-progress div{height:100%;background:var(--progress);transform:scaleX(0);transform-origin:left}.case-layout{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:start;gap:56px;padding-top:40px}.case-rail{position:sticky;top:100px;padding-left:16px}.case-rail:before{content:"";position:absolute;top:0;bottom:0;left:0;width:5px;border-radius:3px;background:var(--aso-oke-vertical)}.case-rail ol{margin:0;padding:0;list-style:none}.case-rail button{display:flex;width:100%;min-height:36px;align-items:center;gap:10px;padding:4px 8px;border:0;border-radius:8px;background:none;color:var(--muted);font-size:.88rem;text-align:left}.case-rail button span{font-family:var(--label);font-size:.72rem}.case-rail button:hover,.case-rail button.is-active{background:var(--tint);color:var(--ink);font-weight:700}.case-study{--measure: none;min-width:0;max-width:820px}.back-link{margin:0 0 28px}.case-hero h1{font-size:clamp(2.8rem,6.5vw,5.4rem)}.case-summary{margin:18px 0 0;color:var(--muted);font-size:1.2rem}.case-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.case-title-row h1{min-width:0;overflow-wrap:anywhere}.case-live{flex:none}@media(max-width:767px){.case-live{min-height:40px;gap:6px;padding:0 12px;font-size:.84rem}}.case-links{display:flex;flex-wrap:wrap;gap:18px;margin:0}.case-links .text-link{margin-top:8px}.case-section{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;padding:56px 0;border-bottom:1px solid var(--line);scroll-margin-top:90px}.case-hero{scroll-margin-top:90px}.case-section h2{margin:0;font-family:var(--display);font-size:1.75rem;font-weight:var(--display-weight);letter-spacing:-.02em}.case-section>div>p{max-width:var(--measure);margin:12px 0 0}.case-snapshot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 0}.case-snapshot div{display:flex;min-height:86px;flex-direction:column;justify-content:center;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.case-snapshot dt{color:var(--muted);font-family:var(--label);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.case-snapshot dd{margin:0;font-size:.95rem;font-weight:700}.case-intro{margin:14px 0 0}.glance-card{margin:32px 0 0;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.glance-title{margin:0;color:var(--brand-strong);font-family:var(--label);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.glance-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px;margin:16px 0 0}.glance-facts dt,.case-quote-label{color:var(--muted);font-family:var(--label);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.glance-facts dd{margin:2px 0 0;font-size:.95rem;font-weight:700;line-height:1.45}.glance-facts>div:nth-child(n+4){grid-column:1 / -1}.glance-facts>div:nth-child(n+4) dd{font-weight:400}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:20px 0 0;padding:0;list-style:none}.stat-tiles:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.stat-tile{display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:12px;background:var(--tint)}.stat-tile strong{color:var(--brand-strong);font-family:var(--display);font-size:clamp(2.2rem,4vw,2.8rem);font-weight:var(--display-weight);letter-spacing:-.03em;line-height:1}.stat-tile span{font-size:.95rem;font-weight:700;line-height:1.35}.stat-tile small{color:var(--muted);font-size:.78rem}.case-figure{min-width:0;margin:20px 0 0}.case-figure img{display:block;width:auto;max-width:100%;height:auto;max-height:min(720px,75vh);border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.case-figure-link{display:block;width:fit-content;max-width:100%;border-radius:12px;cursor:zoom-in}.case-figure figcaption{max-width:var(--measure);margin-top:10px;color:var(--muted);font-size:.88rem;line-height:1.5}.case-figure-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;margin-top:20px}.case-figure-row .case-figure{margin:0}.case-figure-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}.case-figure-group{margin:20px 0 0}.case-figure-group>.case-figure-row{margin-top:0}.case-figure-group>figcaption{max-width:var(--measure);margin-top:10px;color:var(--muted);font-size:.88rem;line-height:1.5}.case-cover{display:block;width:100%;height:auto;margin:24px 0 4px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.about-intro.about-intro-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);grid-template-areas:"text photo";align-items:center;gap:40px}.about-intro-photo .about-intro-text{grid-area:text}.about-portrait{grid-area:photo;display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;border:1px solid var(--line);border-radius:16px;background:var(--surface)}@media(max-width:767px){.about-intro.about-intro-photo{grid-template-columns:minmax(0,1fr);grid-template-areas:"photo" "text";gap:24px}.about-portrait{max-width:360px}}.hero-photo{padding:0}.hero-photo:after{display:none}.hero-photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero-photo .woven-stripe{z-index:1}.before-after-label{margin:8px 0 0;color:var(--ink);font-size:.86rem;font-weight:700}.project-cover.project-cover-photo,.project-card-large .project-cover.project-cover-photo{height:auto;aspect-ratio:16 / 9;padding:0;overflow:hidden;background:var(--surface)}.project-cover-photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:35% 50%}.project-cover-photo .project-index{position:relative;margin:14px 18px}.case-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none}.case-cards-small{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}.case-card{display:flex;min-width:0;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.case-card-tag{display:inline-grid;width:30px;height:30px;flex:none;place-items:center;border-radius:50%;background:var(--tint);color:var(--brand-strong);font-family:var(--label);font-size:.85rem;font-weight:700}.case-card-title{margin:0;font-family:var(--body);font-size:1rem;font-weight:700;letter-spacing:0;line-height:1.35}.case-card p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55}.case-cards-small .case-card{padding:16px;border-top:3px solid var(--brand)}.case-cards-small .case-card p{font-size:.9rem}.feature-groups{display:grid;gap:24px;margin:18px 0 0}.feature-group-title{display:flex;align-items:center;gap:10px;margin:0;font-size:1rem;line-height:1.35}.feature-group .case-cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));margin-top:12px}.feature-group .case-card{border-top-color:var(--accent-two)}.case-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 0}.case-column{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.case-column:nth-child(2){background:var(--surface-soft)}.case-column .case-subhead{margin:0}.case-column .case-list{font-size:.95rem}.case-quote{position:relative;margin:28px 0 0;padding:26px 28px 26px 32px;border-left:5px solid var(--brand);border-radius:0 16px 16px 0;background:var(--brand-gradient)}.case-quote p{max-width:var(--measure);margin:8px 0 0;font-family:var(--display);font-size:clamp(1.15rem,2vw,1.35rem);font-weight:500;line-height:1.5}.case-quote p+p{margin-top:14px}.case-testimonial{max-width:var(--measure);margin:32px 0 0;padding:4px 0 4px 22px;border-left:3px solid var(--thread)}.case-testimonial blockquote{margin:0}.case-testimonial p{margin:0;font-family:var(--display);font-size:clamp(1.1rem,1.9vw,1.3rem);font-style:italic;font-weight:450;line-height:1.5}.case-testimonial figcaption{margin-top:12px;color:var(--muted);font-family:var(--label);font-size:.88rem;font-weight:600}.case-testimonial figcaption:before{content:"— "}.case-testimonial+*{margin-top:36px}:is(.case-cards,.stat-tiles,.feature-groups,.case-steps,.case-columns,.case-figure,.case-figure-row)+p{margin-top:24px}.case-steps{margin:24px 0 0;padding:0;list-style:none}.case-step{position:relative;padding:0 0 36px 44px}.case-step:last-child{padding-bottom:0}.case-step:before{content:"";position:absolute;top:26px;bottom:2px;left:10px;width:2px;border-radius:2px;background:var(--line)}.case-step:last-child:before{display:none}.case-step:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;box-sizing:border-box;border:4px solid var(--brand);border-radius:50%;background:var(--surface)}.case-step-label{display:block;color:var(--brand-strong);font-family:var(--label);font-size:.75rem;font-weight:700;letter-spacing:.08em;line-height:22px;text-transform:uppercase}.case-step-title{margin:2px 0 0;font-family:var(--display);font-size:1.3rem;font-weight:var(--display-weight);letter-spacing:-.01em;line-height:1.25}.case-step>p{max-width:var(--measure);margin:10px 0 0}.case-subhead{margin:36px 0 0;font-family:var(--display);font-size:1.2rem;font-weight:var(--display-weight);letter-spacing:-.01em}.case-list{max-width:var(--measure);margin:12px 0 0;padding-left:1.2em}.case-list li+li{margin-top:8px}.case-callout{max-width:var(--measure);margin:18px 0 0;padding:14px 18px;border-left:3px solid var(--brand);border-radius:0 12px 12px 0;background:var(--tint);font-weight:600}.case-table-wrap{margin:16px 0 0;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.case-table{width:100%;border-collapse:collapse;font-size:.93rem}.case-table th,.case-table td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.case-table tr:last-child td{border-bottom:0}.case-table th{background:var(--surface-soft);color:var(--muted);font-family:var(--label);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}@media(max-width:640px){.case-table thead{display:none}.case-table,.case-table tbody,.case-table tr,.case-table td{display:block}.case-table tr{padding:8px 0;border-bottom:1px solid var(--line)}.case-table tr:last-child{border-bottom:0}.case-table td{padding:4px 14px;border:0}.case-table td:before{content:attr(data-label);display:block;color:var(--muted);font-family:var(--label);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}}.related-grid{margin-top:18px}.case-diagram{margin:20px 0 0;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.case-diagram+p{margin-top:24px}.case-diagram-label{margin:0 0 14px;color:var(--brand-strong);font-family:var(--label);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.case-diagram h4{margin:0;font-family:var(--body);font-size:.95rem;font-weight:700;line-height:1.35}.structure-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px}.structure-column{padding:14px;border:1px solid var(--line);border-top:3px solid var(--brand);border-radius:10px;background:var(--page)}.structure-column:nth-child(1){border-top-color:var(--thread)}.structure-column:nth-child(3){border-top-color:#6fae7c}.structure-column ul{display:grid;gap:6px;margin:10px 0 0;padding:0;list-style:none}.structure-column li{padding:6px 10px;border-radius:8px;background:var(--surface-soft);font-size:.85rem;line-height:1.4}.journey{display:grid;grid-template-columns:84px repeat(var(--steps),minmax(0,1fr));grid-template-rows:repeat(var(--lanes),auto);gap:14px 22px}.journey>*{position:relative;grid-row:var(--dr);grid-column:var(--dc)}.journey-lane{border-radius:12px;background:var(--tint);opacity:.55}.journey-lane-2{background:var(--accent-one);opacity:.7}.journey-lane-label{align-self:center;margin:0;padding-left:12px;color:var(--brand-strong);font-family:var(--label);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.journey-step,.journey-meet{display:flex;flex-direction:column;gap:2px;min-width:0}.journey-step{justify-content:center;margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.journey-step.is-end{margin-right:10px}.journey-step strong,.flow-step strong{font-size:.9rem;line-height:1.3}.journey-step span:not(.visually-hidden),.flow-step>span:not(.flow-step-number){color:var(--muted);font-size:.8rem;line-height:1.4}.journey-meet{z-index:1;align-items:center;justify-content:center;padding:16px 12px;border-radius:14px;background:var(--brand-strong);box-shadow:var(--shadow);color:#fff;text-align:center}.journey-meet strong{margin-top:6px;font-family:var(--display);font-size:1.15rem;font-weight:var(--display-weight);line-height:1.2}.journey-meet span{font-size:.82rem;opacity:.9}.journey-step-before:after,.journey-step-after.is-first:before{content:"→";position:absolute;top:50%;color:var(--brand-strong);font-weight:700;line-height:1;transform:translateY(-50%)}.journey-step-before:after{right:-17px}.journey-step-after.is-first:before{left:-17px}.flow-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none}.flow-step{display:flex;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--page)}.flow-step-number{color:var(--brand-strong);font-family:var(--label);font-size:.7rem;font-weight:700;letter-spacing:.08em}.flow-step.is-gate{border:2px dashed var(--brand);background:var(--tint)}.flow-step.is-key{border-color:var(--brand-strong);background:var(--brand-strong);color:#fff}.flow-step.is-key .flow-step-number,.flow-step.is-key>span:not(.flow-step-number){color:#fff;opacity:.9}.status-legend{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--page);font-size:.85rem;font-weight:600}.status-pill:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--dot)}.tone-done{--dot: #3f8f5a}.tone-active{--dot: #3c74b8}.tone-review{--dot: var(--brand)}.tone-hold{--dot: #c9871f}.tone-off{--dot: #c0453c}.ds-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ds-counts{display:grid;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:16px;border-radius:12px;background:var(--brand-strong);color:#fff;list-style:none}.ds-counts li{display:flex;flex-direction:column;min-width:0}.ds-counts strong{font-family:var(--display);font-size:1.9rem;font-weight:var(--display-weight);line-height:1.1}.ds-counts span{font-size:.85rem}.ds-counts small{margin-top:2px;font-size:.75rem;opacity:.85}.ds-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--page)}.ds-swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 8px;margin:12px 0 0;padding:0;list-style:none}.ds-swatches li{display:flex;flex-direction:column;min-width:0;font-size:.72rem;line-height:1.3}.ds-swatches small{color:var(--muted);font-size:.68rem}.ds-swatch{display:block;aspect-ratio:4 / 3;margin-bottom:4px;border:1px solid rgb(43 34 51 / 10%);border-radius:8px}.ds-font{margin:10px 0 0;font-size:1.15rem;font-weight:700}.ds-scale{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;margin:8px 0 0;font-size:.85rem}.ds-scale div,.ds-owners dl div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed var(--line)}.ds-scale dt,.ds-owners dt{font-weight:600}.ds-scale dd,.ds-owners dd{margin:0;color:var(--muted)}.ds-note{margin:10px 0 0;color:var(--muted);font-size:.85rem;line-height:1.5}.ds-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none}.ds-chips li{padding:4px 10px;border-radius:999px;background:var(--tint);color:var(--brand-strong);font-size:.8rem;font-weight:600}.ds-owners dl{display:grid;gap:6px;margin:10px 0 0;font-size:.9rem}@media(max-width:640px){.case-diagram{padding:14px}.structure-columns,.ds-grid{grid-template-columns:1fr}.structure-column ul{display:flex;flex-wrap:wrap}.journey{grid-template-columns:repeat(var(--lanes),minmax(0,1fr));grid-template-rows:none;gap:22px 10px}.journey>*{grid-row:var(--mr);grid-column:var(--mc)}.journey-lane-label{align-self:start;padding:10px 0 0;text-align:center}.journey-step{margin:0 8px}.journey-step.is-end{margin:0 8px 10px}.journey-step-before:after,.journey-step-after.is-first:before{content:"↓";top:auto;right:auto;left:50%;transform:translate(-50%)}.journey-step-before:after{bottom:-19px}.journey-step-after.is-first:before{top:-19px}.ds-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}.services-toolbar{display:flex;justify-content:flex-start;margin-bottom:18px}.segmented{display:inline-flex;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.segmented button{min-height:40px;padding:0 16px;border:0;border-radius:999px;background:none;color:var(--muted);font-size:.88rem;font-weight:700}.segmented button[aria-pressed=true]{background:var(--button-bg);color:var(--button-ink)}.service-grid-full .service-card{min-height:300px}.proposed-services{margin-top:56px}.proposed-services ul{display:grid;gap:10px;margin:20px 0 0;padding:0;list-style:none}.proposed-services li{display:grid;grid-template-columns:minmax(180px,.6fr) 1fr auto;align-items:center;gap:4px 20px;padding:10px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.proposed-services li span{color:var(--muted);font-size:.93rem}.proposed-services .text-link{margin:0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.check-list{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none}.check-list li{position:relative;padding-left:28px}.check-list li:before{content:"";position:absolute;top:.55em;left:0;width:14px;height:8px;border-bottom:2px solid var(--brand-strong);border-left:2px solid var(--brand-strong);transform:rotate(-45deg)}.price-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.price-list{display:grid;gap:8px;margin:18px 0 14px}.price-list div{display:flex;justify-content:space-between;gap:16px;padding-bottom:8px;border-bottom:1px solid var(--line)}.price-list dt{color:var(--muted)}.price-list dd{margin:0;font-weight:700;text-align:right}.how-it-works{margin-top:48px}.how-it-works ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none}.how-it-works li{padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.how-it-works strong{display:block;margin-top:10px;font-size:1.1rem}.how-it-works p{margin:6px 0 0;color:var(--muted);font-size:.95rem}.about-intro{display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:40px;margin-bottom:40px}.portrait-frame{position:relative;display:grid;aspect-ratio:.85;place-items:end start;overflow:hidden;border:1px solid var(--line);border-radius:140px 140px 16px 16px;background:var(--surface);box-shadow:var(--shadow)}.portrait-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--adire);background-size:44px}.portrait-label{position:relative;margin:18px;padding:6px 12px;border-radius:6px;background:var(--surface);color:var(--muted);font-size:.85rem}.about-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:28px}.about-card h2{margin-top:14px}.about-card ul{margin:14px 0 0;padding-left:20px}.pattern-credit{max-width:640px;color:var(--muted);font-size:.86rem;font-style:italic}.contact-hero{margin-bottom:28px}.contact-hero .button{min-height:60px;padding-inline:28px;font-size:1.05rem}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;align-items:start;gap:18px}.contact-methods{display:grid;gap:8px;margin:16px 0 0;padding:0;list-style:none}.contact-methods a{display:flex;min-height:52px;align-items:center;gap:12px;padding:0 16px;border:1px solid var(--line);border-radius:12px;font-weight:700}.contact-methods a:hover{border-color:var(--brand)}.contact-methods span{flex:1}.contact-form{display:grid;gap:14px;padding:26px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.contact-form h2{margin:0;font-family:var(--display);font-size:1.45rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{display:grid;gap:6px;font-size:.9rem;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--page);font-weight:400}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--focus);outline:2px solid color-mix(in srgb,var(--focus) 30%,transparent)}.contact-layout>.notice{margin:0}.site-footer{position:relative;margin-top:40px;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem}.footer-pattern{height:34px;background:var(--adire);background-size:44px;opacity:.8}.footer-inner{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 24px;padding-block:28px 36px}.footer-inner .wordmark{color:var(--ink)}.footer-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 6px}.footer-nav a{display:inline-flex;min-height:44px;align-items:center;padding:0 8px}.footer-nav a:hover{color:var(--ink)}.footer-inner p{grid-column:1 / -1;margin:0}.floating-whatsapp{position:fixed;z-index:24;right:18px;bottom:22px;display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:#1f7a4d;color:#fff;box-shadow:0 10px 30px #00000040}@media(prefers-reduced-motion:no-preference){.reveal{animation:rise .52s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--i, 0) * 60ms)}.reveal{animation-name:place}.page-enter{animation:fade-in .3s ease-out}.page-enter{animation:page-turn .45s ease-out;transform-origin:left center}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes place{0%{opacity:0;transform:translateY(18px) rotate(-1.5deg)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes page-turn{0%{opacity:0;transform:perspective(1600px) rotateY(-6deg)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.project-card:hover,a.service-card:hover,.button:hover{transform:none!important}}@media(max-width:1100px){.case-layout{grid-template-columns:1fr}.case-rail{display:none}.hero{padding:48px}}@media(max-width:960px){.main-nav a{padding:0 8px;font-size:.88rem}.project-grid,.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pillar-grid,.how-it-works ol{grid-template-columns:1fr}.hero{grid-template-columns:1fr;gap:16px}.hero{background:var(--surface)}.hero-art{min-height:320px}.detail-grid,.contact-layout,.proposed-services li{grid-template-columns:1fr}}@media(max-width:767px){.page-width{width:calc(100% - 32px)}.site-header{min-height:62px;padding-inline:16px}.main-nav{display:none}.hero{margin-top:16px;padding:32px 20px}.hero h1{font-size:clamp(1.9rem,8.5vw,2.6rem)!important}.hero-badge{border-radius:14px;font-size:.8rem}.hero-art{min-height:280px}.hero-page{width:min(240px,70%)}.margin-note{font-size:1.1rem}.section{padding-block:60px}.page-intro{padding-top:44px}.project-grid,.service-grid,.about-grid,.related-grid{grid-template-columns:1fr}.featured-grid>:first-child{grid-column:auto}.about-intro{grid-template-columns:1fr}.portrait-frame{max-width:260px}.case-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.glance-card{padding:18px}.case-figure-row,.case-columns,.case-cards,.case-cards-small{grid-template-columns:1fr}.case-step{padding-left:32px}.case-figure-row-3 .case-figure-link{max-width:min(100%,280px)}.case-quote{padding:20px 18px 20px 20px}.case-column{padding:18px}.glance-facts{grid-template-columns:1fr}.stat-tiles,.stat-tiles:has(>:nth-child(4):last-child){grid-template-columns:1fr}.stat-tile{display:grid;grid-template-columns:116px 1fr;align-items:center;column-gap:14px;padding:14px 16px}.stat-tile strong{grid-row:span 2;font-size:2rem}.case-section{grid-template-columns:1fr;gap:4px;padding:40px 0}.field-row{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;padding-bottom:calc(110px + env(safe-area-inset-bottom))}.footer-nav{justify-content:flex-start;margin-left:-8px}.mobile-tabs{position:fixed;z-index:25;right:10px;bottom:max(10px,env(safe-area-inset-bottom));left:10px;display:flex;min-height:62px;align-items:center;justify-content:space-around;padding:5px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-tabs a{display:grid;min-width:52px;min-height:50px;place-items:center;gap:1px;padding:4px 6px;border:0;border-radius:12px;background:none;color:var(--muted);font-size:.7rem;font-weight:700}.mobile-tabs a[aria-current=page]{background:var(--tint);color:var(--ink)}.floating-whatsapp{bottom:calc(86px + env(safe-area-inset-bottom))}}
