:root { color-scheme:light; --pub-ink:#00412e; --pub-muted:#607269; --pub-line:#ccd5ca; --pub-bg:#e8eae5; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-synthesis:none; }
* { box-sizing:border-box; }body { margin:0; color:var(--pub-ink); background:var(--pub-bg); font-size:17px; line-height:1.7; }a { color:inherit; }a:focus-visible { outline:3px solid #669c55; outline-offset:6px; }button,input { font:inherit; }.pub-skip { position:absolute; inset-block-start:-80px; inset-inline-start:20px; background:white; padding:12px 20px; z-index:10; }.pub-skip:focus { inset-block-start:10px; }
.pub-header { max-width:1400px; margin:auto; padding:32px 5vw; display:flex; align-items:center; gap:28px; border-bottom:1px solid var(--pub-line); }.pub-brand { font-weight:700; letter-spacing:-.04em; font-size:24px; text-decoration:none; line-height:1.2; max-width:390px; overflow-wrap:anywhere; }.pub-header nav { display:flex; flex-wrap:wrap; gap:12px 24px; margin-inline-start:auto; max-width:60%; }.pub-header nav a { text-decoration:none; font-size:13px; color:var(--pub-muted); overflow-wrap:anywhere; }.pub-header nav a[aria-current] { color:var(--pub-ink); text-decoration:underline; text-underline-offset:6px; }.pub-languages { display:flex; flex-wrap:wrap; align-items:center; gap:12px; font-size:10px; }.pub-languages a { text-decoration:none; opacity:.6; }.pub-languages a[aria-current] { opacity:1; font-weight:750; }
.pub-site main { max-width:1400px; margin:auto; }.pub-hero { padding:100px 5vw 60px; }.pub-kicker { font-size:11px; text-transform:uppercase; font-weight:650; letter-spacing:.16em; min-height:19px; margin-bottom:26px; }.pub-hero h1 { max-width:1080px; margin:0; font-size:clamp(44px,7.5vw,104px); line-height:1.02; letter-spacing:-.055em; font-weight:530; overflow-wrap:anywhere; }.pub-lead { margin:36px 0 0; max-width:650px; font-size:clamp(17px,2vw,22px); color:var(--pub-muted); line-height:1.65; }.pub-hero-line { height:7px; width:75px; background:#96bf8a; margin-top:55px; }
.pub-content { width:min(790px,90%); margin-block:0 100px;margin-inline:auto 5vw; padding:34px 0 0; }.pub-content:empty { padding:0; margin-bottom:65px; }.pub-content h2 { font-size:clamp(28px,3vw,42px); line-height:1.2; letter-spacing:-.03em; font-weight:550; margin:55px 0 20px; }.pub-content h3 { font-size:25px; line-height:1.3; letter-spacing:-.02em; font-weight:550; margin:35px 0 16px; }.pub-content p { margin:0 0 25px; }.pub-content>* { overflow-wrap:anywhere; }.pub-content ul,.pub-content ol { padding-inline-start:25px; margin:28px 0; }.pub-content li { padding-inline-start:10px; margin:10px 0; }.pub-content li::marker { color:#437e37; }.pub-content blockquote { margin:40px 0; border-inline-start:4px solid #96bf8a; padding:20px 32px; background:#ffffff70; }.pub-content blockquote p { font-size:25px; line-height:1.5; letter-spacing:-.02em; }.pub-content cite { font-size:12px; color:var(--pub-muted); font-style:normal; }.pub-content hr { border:0; height:1px; background:var(--pub-line); margin:50px 0; }.pub-button { display:inline-flex; align-items:center; justify-content:space-between; gap:45px; background:#00412e; color:white; text-decoration:none; padding:17px 25px; border-radius:4px; font-size:13px; font-weight:600; max-width:100%; }.pub-button:hover { background:#175b41; }.pub-action { margin-block:30px !important; }
.pub-footer { max-width:1400px; margin:auto; padding:28px 5vw; border-top:1px solid var(--pub-line); display:flex; flex-wrap:wrap; justify-content:space-between; gap:15px; font-size:11px; color:var(--pub-muted); overflow-wrap:anywhere; }.pub-footer span:last-child { font-size:9px; letter-spacing:.15em; }.pub-empty { min-height:65vh; }.pub-empty h1 { font-size:clamp(40px,6vw,80px); max-width:900px; }.preview-banner { display:flex; gap:15px; align-items:center; justify-content:center; flex-wrap:wrap; padding:12px 5vw; background:#00412e; color:#fff; font-size:12px; }.preview-banner a { color:#b9dda7; font-weight:500; }
.pub-compact { background:#fff; }.pub-compact .pub-header { max-width:1200px; }.pub-compact main { max-width:1100px; }.pub-compact .pub-hero { padding-top:65px; padding-bottom:30px; }.pub-compact .pub-hero h1 { font-size:clamp(40px,5vw,64px); max-width:800px; }.pub-compact .pub-hero-line { margin-top:35px; }.pub-compact .pub-content { width:auto; max-width:790px; margin:0 5vw 75px; padding-top:0; }.pub-compact .pub-content blockquote { background:#f0f4ed; }.pub-compact .pub-footer { max-width:1200px; }
[dir=rtl] .pub-content { margin-inline: auto 5vw; }[dir=rtl] .pub-compact .pub-content { margin-inline:5vw; }
@media(max-width:760px) { .pub-header { flex-wrap:wrap; padding:24px 6vw; gap:22px; }.pub-brand { font-size:21px; max-width:100%; }.pub-header nav { order:3; width:100%; max-width:none; margin:0; gap:12px 24px; }.pub-languages { margin-inline-start:auto; }.pub-hero { padding:65px 6vw 35px; }.pub-content { width:auto; margin:0 6vw 65px; padding:0; }.pub-hero-line { margin-top:35px; }.pub-content blockquote { padding:18px 22px; }.pub-content blockquote p { font-size:21px; }.pub-footer { padding:25px 6vw; }.pub-compact .pub-content { margin-inline:6vw; }.preview-banner { justify-content:flex-start; font-size:11px; } }
/* Structured responsive blocks and per-site design tokens. */
:root { --pub-primary:#00412e; --pub-secondary:#96bf8a; --pub-surface:#fff; --pub-on-primary:#fff; --pub-radius:8px; --pub-content-width:790px; }
body.pub-site { background:var(--pub-bg); color:var(--pub-ink); --pub-muted:color-mix(in srgb,var(--pub-ink) 72%,var(--pub-bg)); --pub-line:color-mix(in srgb,var(--pub-ink) 18%,var(--pub-bg)); }
body.pub-compact { background:var(--pub-surface); }.pub-button { background:var(--pub-primary); color:var(--pub-on-primary); border-radius:var(--pub-radius); }.pub-button:hover { background:var(--pub-primary); filter:brightness(1.1); }.pub-hero-line { background:var(--pub-secondary); }.pub-brand { display:flex; align-items:center; gap:13px; }.pub-logo { width:auto; max-width:160px; height:auto; max-height:46px; object-fit:contain; }.pub-content { width:min(var(--pub-content-width),90%); max-width:var(--pub-content-width); display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:start; }.pub-compact .pub-content { width:auto; max-width:var(--pub-content-width); }.pub-content blockquote { border-inline-color:var(--pub-secondary); background:var(--pub-surface); border-start-end-radius:var(--pub-radius);border-end-end-radius:var(--pub-radius); }.pub-content li::marker { color:var(--pub-primary); }
.pub-block { grid-column:span 12; min-width:0; overflow-wrap:anywhere; }.pub-block[data-desktop="6"] { grid-column:span 6; }.pub-block[data-desktop="4"] { grid-column:span 4; }.pub-block[data-desktop="3"] { grid-column:span 3; }.pub-block[data-desktop="9"] { grid-column:span 9; }.pub-block[data-desktop="8"] { grid-column:span 8; }.pub-block[data-align=center] { text-align:center; }.pub-block[data-align=end] { text-align:end; }.pub-block[data-space=tight] { padding-block:0; }.pub-block[data-space=normal] { padding-block:12px; }.pub-block[data-space=large] { padding-block:40px; }.pub-block[data-space=screen] { min-height:calc(100svh - 120px); padding-block:48px; display:grid; align-content:center; }.pub-block[data-tone=soft] { background:var(--pub-surface); padding-inline:24px; border-radius:var(--pub-radius); }.pub-block[data-tone=accent] { background:var(--pub-primary); color:var(--pub-on-primary); padding-inline:24px; border-radius:var(--pub-radius); }.pub-block[data-tone=accent] .pub-button { background:var(--pub-secondary); color:var(--pub-primary); }.pub-block[data-tone=accent] blockquote { background:transparent; }.pub-block[data-tone=accent] cite { color:inherit; }.pub-block>:first-child { margin-top:0; }.pub-block>:last-child { margin-bottom:0; }.pub-block>h2,.pub-block>h3 { margin-bottom:0; }.pub-block>.pub-action { margin-block:0 !important; }.pub-image { margin:0; }.pub-image img { display:block; width:100%; max-width:100%; height:auto; border-radius:var(--pub-radius); object-fit:cover; }.pub-image[data-ratio=wide] img { aspect-ratio:16/9; }.pub-image[data-ratio=square] img { aspect-ratio:1; }.pub-image[data-ratio=portrait] img { aspect-ratio:3/4; }.pub-image[data-fit=contain] img { object-fit:contain; }.pub-image figcaption { font-size:12px; color:var(--pub-muted); margin-top:12px; }.pub-block[data-tone=accent] figcaption { color:inherit; }
.pub-editor .pub-block { position:relative; outline:1px dashed transparent; cursor:pointer; }.pub-editor .pub-block:hover { outline-color:var(--pub-secondary); }.pub-editor .pub-block.is-selected { outline:2px solid #398065; outline-offset:3px; }.canvas-handle { position:absolute; top:0; inset-inline-start:0; transform:translateY(-100%); background:#00412e; color:white; border:0; font:11px/1.4 Arial,sans-serif; padding:5px 10px; border-radius:5px 5px 0 0; cursor:grab; display:none; }.pub-editor .pub-block:hover>.canvas-handle,.pub-editor .pub-block.is-selected>.canvas-handle { display:block; }.pub-editor .pub-block.drop-target { outline:3px dashed #398065; }.pub-editor .pub-block.is-dragging { opacity:.4; }.pub-editor .pub-block p,.pub-editor .pub-lead { white-space:pre-line; }
@media(max-width:1000px) { .pub-block[data-tablet="12"] { grid-column:span 12; }.pub-block[data-tablet="6"] { grid-column:span 6; } }
@media(max-width:600px) { .pub-block[data-mobile="12"] { grid-column:span 12; }.pub-block[data-mobile="6"] { grid-column:span 6; }.pub-content { gap:20px; }.pub-block[data-tone=soft],.pub-block[data-tone=accent] { padding-inline:16px; }.pub-logo { max-width:100px; max-height:38px; }.pub-brand { font-size:18px; }.pub-block[data-mobile="6"] h2 { font-size:23px; }.pub-block[data-mobile="6"] .pub-button { padding:13px; gap:12px; } }
/* Masonry containers (layout templates): balanced columns of blocks with mixed heights instead of grid rows. */
.pub-block[data-pattern=masonry]>.pub-container{display:block;columns:3 220px;column-gap:1.25rem}.pub-block[data-pattern=masonry]>.pub-container>.pub-block{display:block;break-inside:avoid;margin-bottom:1.25rem}
@media(max-width:600px){.pub-block[data-pattern=masonry]>.pub-container{columns:2 140px}}
/* Same-origin forms: native HTML submission, including when JavaScript is off. */
.pub-form{background:var(--pub-surface);color:var(--pub-ink);border:1px solid var(--pub-line);border-radius:var(--pub-radius);padding:clamp(20px,4vw,40px);text-align:start}.pub-form h2{margin:8px 0 24px;font-size:clamp(24px,3vw,34px)}.pub-form-kind{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--pub-muted)}.pub-form fieldset{border:0;margin:0;padding:0;min-width:0}.pub-form fieldset:disabled{opacity:.65}.pub-form label{display:grid;gap:7px;font-size:13px;font-weight:550;margin-block:18px}.pub-form input,.pub-form textarea,.pub-form select{font:inherit;display:block;width:100%;min-width:0;padding:12px;border:1px solid var(--pub-line);border-radius:var(--pub-radius);background:var(--pub-bg);color:var(--pub-ink)}.pub-form textarea{resize:vertical}.pub-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:0 20px}.pub-form .pub-form-check{display:flex;align-items:flex-start;gap:12px}.pub-form-check input{width:auto;margin-top:5px;accent-color:var(--pub-primary)}.pub-form .pub-form-trap,.pub-sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}.pub-form-notice{padding:14px 16px;background:var(--pub-bg);font-size:13px;border-inline-start:3px solid var(--pub-secondary);color:var(--pub-ink)}.pub-form-help,.pub-form-privacy{font-size:12px}.pub-form .pub-button{border:0;cursor:pointer}.pub-form :focus-visible{outline:3px solid var(--pub-secondary);outline-offset:3px}.pub-form-retry{max-width:800px;margin:0 auto 70px;padding-inline:5vw}.pub-form .pub-button:disabled{cursor:default}
/* Native consent controls also work with JavaScript disabled. */
.pub-consent{position:relative;margin:2rem auto;max-width:1160px;padding:2rem;display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;border:1px solid var(--pub-border,#bac5bd);border-radius:18px;background:var(--pub-surface,#fff);box-shadow:0 8px 35px #00412e12;color:var(--pub-text,#183c30)}
.pub-consent h2{font-size:1.65rem;margin:.5rem 0}.pub-consent p{max-width:64ch}.pub-consent-actions{display:flex;gap:.6rem;align-content:center;align-items:center;flex-wrap:wrap}.pub-consent-actions .pub-button{font:inherit;font-weight:600;cursor:pointer}.pub-button.pub-secondary{background:transparent;color:inherit;border:1px solid currentColor}.pub-consent-actions .pub-button{padding:.8rem 1rem;border-radius:8px}.pub-privacy{max-width:880px;padding:3rem 1.5rem;margin:auto}.pub-privacy h1{font-size:clamp(2rem,5vw,3.2rem)}.pub-privacy-category{border:0;padding:0;margin:2rem 0}.pub-privacy-category legend{font-size:1.35rem;font-weight:700}.pub-service{border:1px solid var(--pub-border,#bac5bd);border-radius:14px;padding:1.5rem;margin:1rem 0}.pub-service dl{display:grid;grid-template-columns:170px 1fr;gap:.7rem;font-size:.9rem}.pub-service dt{font-weight:600}.pub-service dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}.pub-service-state{font-size:.85rem;font-weight:600}.pub-embed{margin:0}.pub-embed iframe{width:100%;min-height:340px;border:0;border-radius:10px;aspect-ratio:16/9}.pub-embed figcaption{padding:.5rem;font-size:.85rem}.pub-embed-placeholder{padding:2rem;text-align:center;background:var(--pub-surface,#f1f4ef);border:1px dashed #96bf8a;border-radius:12px}.pub-embed-placeholder>span{font-size:2rem}.pub-captcha{margin:1rem 0;padding:1rem;border:1px solid #96bf8a;border-radius:10px}.pub-captcha p{font-size:.9rem}.pub-captcha [data-captcha-mount]{margin-top:1rem}.pub-captcha button:disabled{opacity:.6;cursor:wait}.pub-footer{flex-wrap:wrap;gap:1rem}
@media(max-width:760px){.pub-consent{margin:1rem;grid-template-columns:1fr;padding:1.25rem;gap:1rem}.pub-consent-actions{align-items:stretch;flex-direction:column}.pub-consent-actions>*{text-align:center;width:100%}.pub-service dl{grid-template-columns:1fr;gap:.3rem}.pub-service dd{margin-bottom:.6rem}.pub-embed iframe{min-height:240px}}
.pub-privacy h1{overflow-wrap:anywhere}.pub-privacy-category{min-inline-size:0}.pub-service{overflow-wrap:anywhere}.pub-consent{color:var(--pub-ink);border-color:var(--pub-line)}.pub-embed-placeholder{border-color:var(--pub-secondary)}.pub-consent-actions button.pub-button{border:1px solid transparent}.pub-consent-actions button.pub-secondary{border-color:currentColor}
.pub-header nav ul{display:flex;flex-wrap:wrap;gap:.8rem;list-style:none;padding:0;margin:0}.pub-header nav li{position:relative}.pub-header nav li ul{display:block;border-inline-start:2px solid var(--pub-secondary);padding-inline-start:.8rem;margin-block:.5rem}.pub-header nav li ul a{display:inline-block;padding-block:.3rem}.pub-fields{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem}.pub-fields dt{font-weight:bold}.pub-fields dd{margin:0}.pub-taxonomies{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.6rem}
.pub-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.25rem;min-height:2rem}.pub-container>.pub-block{min-width:0}.pub-editor .pub-container{min-height:5rem;border:1px dashed currentColor;padding:.8rem}.pub-global-header,.pub-global-footer{padding-block:1rem}

.pub-form input[type=checkbox]{inline-size:18px;block-size:18px;min-inline-size:18px;flex:0 0 18px;padding:0;accent-color:var(--pub-primary)}
.pub-feedback article{padding-block:12px 24px;border-block-end:1px solid var(--pub-line)}

.pub-feedback,.pub-result{display:block}.pub-feedback .pub-form{margin-block:32px}.pub-feedback blockquote p{font-size:1rem;letter-spacing:normal}

input[type=email],input[type=url],input[type=tel]{direction:ltr;unicode-bidi:isolate;text-align:start}
:lang(ar) :is(h1,h2,h3,.pub-kicker,.pub-form-kind){letter-spacing:normal}

/* Optional shop catalogue, inheriting the website design. */
.shop-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:28px;margin-block:36px}
.shop-card,.shop-public-variant{border:1px solid var(--pub-secondary);border-radius:var(--pub-radius,12px);padding:24px;overflow-wrap:anywhere}
.shop-card img{width:100%;height:220px;object-fit:cover;border-radius:var(--pub-radius,12px)}.shop-card h2{font-size:1.3em}
.shop-price{font-weight:700;font-size:1.25em}.shop-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}.shop-gallery figure{margin:0}.shop-gallery img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}
.shop-description{margin-block:36px;overflow-wrap:anywhere}.shop-public-variants{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px;margin-block:24px}.shop-public-variant h3{margin-top:0}.shop-variant-thumb{width:80px;height:80px;object-fit:contain}
.shop-public-filter{display:flex;flex-wrap:wrap;gap:20px;align-items:end}.shop-public-filter label{display:grid;gap:8px;flex:1;min-width:min(220px,100%)}.shop-public-filter input,.shop-public-filter select{width:100%;min-height:46px;border:1px solid var(--pub-secondary);background:var(--pub-surface);color:var(--pub-ink);padding:10px;font:inherit;border-radius:var(--pub-radius,8px)}.shop-pagination{display:flex;justify-content:space-between;gap:20px;margin-block:24px}

.shop-content>*{grid-column:1/-1}.shop-content .shop-public-variant h3{margin-top:0}.shop-content .shop-card h2{font-size:1.3em;margin-top:24px}

.shop-cart-line{padding:1.5rem 0;border-bottom:1px solid currentColor;overflow-wrap:anywhere}.shop-cart-line form{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}.shop-cart-line label{display:grid;gap:.4rem}.shop-cart-line input{width:7rem;padding:.6rem;background:var(--pub-bg);color:var(--pub-ink);border:1px solid currentColor;border-radius:.4rem}
.pub-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.pub-form-field{grid-column:1/-1;min-width:0}.pub-form-field[data-width=half]{grid-column:auto}.pub-form-field[hidden]{display:none}.pub-form-heading{margin:28px 0 4px;font-size:20px}.pub-form-text{margin-block:12px;font-size:14px}.pub-form .pub-form-choices{border:0;margin:18px 0;padding:0;min-width:0}.pub-form-choices legend{font-size:13px;font-weight:550;padding:0;margin-bottom:4px}.pub-form .pub-form-choices .pub-form-check{margin-block:8px;font-weight:400}.pub-form-hint{display:block;margin-top:-12px;margin-bottom:12px;font-size:12px;color:var(--pub-muted)}.pub-form input[type=radio]{inline-size:18px;block-size:18px;min-inline-size:18px;flex:0 0 18px;padding:0;accent-color:var(--pub-primary)}
@media(max-width:600px){.pub-form-field[data-width=half]{grid-column:1/-1}}

/* AVIF/WebP sources around images (Media::sources): the wrapper adds no box of its own. */
.pub-image picture,.shop-gallery picture{display:contents}
